Actie komt te vroeg

Status
Niet open voor verdere reacties.

vlys1

Gebruiker
Lid geworden
21 mei 2006
Berichten
30
hallo allemaal

ik heb een formulier waarbij je de gegevens invult op diverse dagen.
op het moment dat ik het huidige record gaat printen via een rapport
wil ik op het moment dat ik de knop afdrukken aan klik dat er de volgende actie's
gebeuren

A een faktuur datum in het daarvoor bestemde veld invoeren
B het veld status word gewijzigt van "openstaand" naar "gefactureerd"
C dan het rapport pas printen

in de code die ik tot nu toe heb word er eerst geprint en daarna pas punt a en b gedaan.

en hoe kan ik voorkomen dat punt a en b nogmaals worden gewijzigt door bv nogmaals te printen.

wie helpt me ermee


Code:
Private Sub Knop28_Click()
On Error GoTo Err_Knop28_Click

    DoCmd.RunCommand acCmdSaveRecord

    Me.Status = Replace(Me.Status, "Openstaand", "Gefactureerd")

    Me.Faktuur_Datum = Date

Dim stDocName As String

    stDocName = "Faktuur"
    DoCmd.OpenReport stDocName, acPrevieuw, , "ID=" & Me.ID

Exit_Knop28_Click:
Exit Sub

Err_Knop28_Click:
    MsgBox Err.Description
Resume Exit_Knop28_Click

End Sub
mvg
vlys1
 
Het is natuurlijk niet slim om het record eerst te bewaren, en daarna nog eens te wijzigen. En dat is exact wat je nu doet. Dus eerst de twee velden aanpassen, en dan pas opslaan!

Wil je voorkomen dat de factuurdatum door de code wordt overschreven, dan kun je dat zo vermoed ik wel oplossen:

Code:
Private Sub Knop28_Click()
Dim stDocName As String
On Error GoTo Err_Knop28_Click

    If Me.Datum_Opgelost = vbNullString Then
        Me.status = Replace(Me.status, "Openstaand", "Gefactureerd")
        Me.Faktuur_Datum = Date
    End If
    DoCmd.RunCommand acCmdSaveRecord
    stDocName = "Faktuur"
    DoCmd.OpenReport stDocName, acPrevieuw, , "ID=" & Me.ID
    Exit Sub

Err_Knop28_Click:
    MsgBox Err.Description

End Sub
Ik heb je eerste probleem uiteraard ook maar gelijk meegenomen ;)
 
dank je voor je snelle reactie ik ga hier vanavond mee aan de gang.

gr
vlys
 
helaas werkt het niet helemaal

dit stuk werkt niet

Code:
If Me.Faktuur_Datum = vbNullString Then
        Me.status = Replace(Me.status, "Openstaand", "Gefactureerd")
        Me.Faktuur_Datum = Date
    End If

het werkt wel als ik het zo doet maar dan is de faktuur datum alsnog te wijzigen

Code:
        Me.status = Replace(Me.status, "Openstaand", "Gefactureerd")
        Me.Faktuur_Datum = Date

Iets doe ik schijnbaar niet goed

gr
vlys
 
Dat krijg je ervan als je dingen uit het hoofd doet :)
Code:
    If Not IsDate(Me.Faktuur_Datum) Then
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan