Knop die eenmalig een opdracht uitvoert

Status
Niet open voor verdere reacties.

Rene71

Gebruiker
Lid geworden
2 aug 2012
Berichten
133
Goedemiddag iedereen
ik heb laatst een vraag geplaatst hoe je de status in een subform kunt aanpassen

Code:
Private Sub Printwerkorder_Click()

If StatusCombo = 1 Or 2 Or 4 Or 5 Or 6 Then
    DoCmd.OpenReport "rptOrderkaart", acViewReport, , "[Ordernr]=" & [Ordernr]
  End if   
    Else

Dim strSQL As String
    strSQL = "UPDATE tblOrderRegel SET StatusID = 3 WHERE (Ordernr=" & Me.Ordernr & ");"
    CurrentDb.Execute strSQL, dbFailOnError
    StatusCombo = 3
    DoCmd.OpenReport "rptOrderkaart", acViewReport, , "[Ordernr]=" & [Ordernr]

Me.Requery

End Sub

nu wil ik graag dat de knop twee dingen doet
kijken of de StatusCombo een bepaalde waarde heeft in dit geval 2 of 4 of 5 of 6
dan print rapport

anders de status aanpassen en print dan Rapport

ik mis dus nog een stukje code of het staat niet in de juiste volgorde

kan iemand mij aub verder helpen
 
Vraag: is statuscombo een veld van de tabel, is dat hetzelfde als statusid?
ik zou in ieder gevan gebruik maken van een select case constructie.
in dit geval
select case statuscombo
case 1
docmd.runsql " update tblorderregel set statuscombo= 3 where enz... '(bijweken van de statuscombo)
DoCmd.OpenReport "rptOrderkaart", acViewReport, , "[Ordernr]=" & [Ordernr] '(afdrukken report)
case 2
DoCmd.OpenReport "rptOrderkaart", acViewReport, , "[Ordernr]=" & [Ordernr]
case 3 enz.

gevolgd door
end select
Suc6
 
Bedankt Jan voor je reactie :thumb:
heb er even mee zitten stoeien met een case constructie maar ben er niet uitgekomen
heb het op een andere manier geprobeerd,

Private Sub cmdLeveringcompleet_Click()

If IsVerzonden Then
'Print Pakbon
DoCmd.OpenReport "rptPakbon", acViewReport, , "[PBID]=" & [PBID]
'StatusCombo = 5
'IsVerzonden= True
Else
'Maak Pakbon
maakpakbon
End If
Me.Refresh
End Sub

Private Sub maakpakbon() 'Status 5 Verzending Compleet
Dim strSQL As String
strSQL = "UPDATE tblOrderRegel SET StatusID = 5 WHERE (Ordernr=" & Me.cmboOrdernr & ");"
CurrentDb.Execute strSQL, dbFailOnError

StatusID = 5
IsVerzonden = True
MsgBox ("Status wordt aangepast naar Status 5 Pakbon gemaakt")

DoCmd.OpenReport "rptPakbon", acViewReport, , "[PBID]=" & [PBID]

End Sub
 
En is dat dan niet gelukt ("heb het op een andere manier geprobeerd,") of werkt dit nu wel? Ik zie wel een paar regels waar ik mijn vraagtekens bij zet namelijk. Maar als het werkt, dan werkt 't...
 
JA dat doet wel wat ik wil maar als het beter kan hoor ik dat graag :)
 
Ach, dingen als: StatusID = 5 terwijl je daarboven al een Update query uitvoert waarbij het criterium StatusID = 5 is. Dus wat is dan het nut van StatusID = 5? Zie ik niet. En de volgorde is niet logisch; nu check je eerst op IsVerzonden en open je het rapport, terwijl je daarna pas IsVerzonden instelt, en alsnog het rapport opent. Doe eerst de check, werk bij en open dan pas het rapport.
 
bedankt Michel heb de volgorde aangepast klinkt logisch :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan