Springen naar inhoud


- - - - -
DB .NET

Access Aantal Prints Ifv Waarde In Database

.NET

  • Log in a.u.b. om te beantwoorden
Er zijn 3 reacties in dit onderwerp

#1 visserkevis

visserkevis

    Starting Developer

  • Leden
  • 2 berichten
    Laatst bezocht 02 nov 2019 11:36
  • LocatieBelgië

Geplaatst op 25 oktober 2019 - 17:42

Ik heb in access een database (met bestellingen) gemaakt.
Via onderstaande code tracht ik ervoor te zorgen dat per bestelling een juist aantal etiketten wordt geprint.
Het aantal prints komt uit de query (KeukenWarmKoudPatat) zelf.
Probleem is dat enkel de éérste record bepaald hoeveel prints er moeten komen, terwijl ik dit voor elke record opnieuw wil doen.
Ik hoop dat ik het duidelijk genoeg maak. 'k ben dan ook een beginner.

Visual Basic Code:
 'Keukenbon afdrukken als dat geselecteerd is met het keuzerondje
If chkKeuken = True Then
'Alleen afdrukken als er Keukenproducten bij zijn.
If DCount("*", "KeukenWarmKoudPatat") = 0 Then
MsgBox "Er staan geen Keuken bereidingen op deze bon", vbInformation
Else
'Bepalen hoeveel etiketten er moeten worden afgedrukt i.f.v aantal bestelde,
'en aantal op schotel
Dim IntAantal As Integer
Dim IntHoeveelheid As Integer
Dim SngPrints As Single
Dim IntAfronding As Integer
Dim bytkeuze As Byte

IntAantal = DLookup("[Aantal op schotel]", "KeukenWarmKoudPatat")
IntHoeveelheid = DLookup("[Hoeveelheid]", "KeukenWarmKoudPatat")
SngPrints = (IntHoeveelheid / IntAantal)
'Naar boven afronden
IntAfronding = -Int(-[SngPrints])

If IntAfronding > 5 Then
bytkeuze = MsgBox("Er gaan " & IntAfronding & " labels geprint worden! Verder gaan?", vbYesNo)

If bytkeuze = vbNo Then GoTo weggaan
End If

DoCmd.OpenReport "KeukenWarmKoudAardappel", acPreview
DoCmd.PrintOut acPages, , , , IntAfronding
DoCmd.Close acReport, "KeukenWarmKoudAardappel"
End If


#2 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 691 berichten
    Laatst bezocht vandaag, 13:35
  • LocatieMechelen (BE)

Geplaatst op 31 oktober 2019 - 23:56

Aantal kleine opmerkingen
* gebruik de vb tags bij code :)
* heb ook de code een beetje aangepast, ik vermoed dat deze code in een sub staat, dus kan het korter

Visual Basic Code:
 'Keukenbon afdrukken als dat geselecteerd is met het keuzerondje
If chkKeuken = false then exit sub 'waarom door heel de sub of functie gaan als je hier eigenlijk al terug wilt

'Alleen afdrukken als er Keukenproducten bij zijn.
If DCount("*", "KeukenWarmKoudPatat") = 0 Then
MsgBox "Er staan geen Keuken bereidingen op deze bon", vbInformation
exit sub 'zelfde niet heel de sub doorlopen als je er toch al uit wilt
end if

'Bepalen hoeveel etiketten er moeten worden afgedrukt i.f.v aantal bestelde,
'en aantal op schotel
Dim IntAantal As Integer
Dim IntHoeveelheid As Integer
Dim SngPrints As Single
Dim IntAfronding As Integer

IntAantal = DLookup("[Aantal op schotel]", "KeukenWarmKoudPatat")
IntHoeveelheid = DLookup("[Hoeveelheid]", "KeukenWarmKoudPatat")
SngPrints = (IntHoeveelheid / IntAantal)
'Naar boven afronden
IntAfronding = -Int(-[SngPrints])

If IntAfronding > 5 then
'je zou deze 2 nog kunnen combineren maar weet niet of acces al andalso ondersteund
if MsgBox("Er gaan " & IntAfronding & " labels geprint worden! Verder gaan?", vbYesNo) =vbno then exit sub
end if

DoCmd.OpenReport "KeukenWarmKoudAardappel", acPreview
DoCmd.PrintOut acPages, , , , IntAfronding
DoCmd.Close acReport, "KeukenWarmKoudAardappel"

Mijn vraag: wat is DoCmd?

#3 visserkevis

visserkevis

    Starting Developer

  • Leden
  • 2 berichten
    Laatst bezocht 02 nov 2019 11:36
  • LocatieBelgië

Geplaatst op 02 november 2019 - 11:14

DoCmd is een object to run Microsoft Office Access actions from Visual Basic

#4 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 691 berichten
    Laatst bezocht vandaag, 13:35
  • LocatieMechelen (BE)

Geplaatst op 02 november 2019 - 11:33

Ha dat is interessant ( https://docs.microso....docmd.printout )

Maar als je meerdere records wilt afrinten zul je een do loop of while moeten doen om door je hele ganste record set te lopen





Ook met taq DB .NET, .NET voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[DB .NET] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)