//////////CODE
Private Sub btn_opslaan_Click()
'variabelen declareren
Dim int_client As Integer
Dim qry_insert As String
'Controle of deze Compaq P/N een Client bevat. Zo ja dan Client op Yes (1) zetten.
If InStr(1, cmb_shell_pn, "-CL-", 1) <> 0 Then
int_client = 1
Else
int_client = 0
End If
'Query voor het invoeren van de bestelling in de database
qry_insert = "INSERT INTO tbl_best (fld_shell_pn, fld_client, fld_buysite, fld_cfp, fld_glro, fld_aim, fld_leverancier, fld_bedrag, fld_special_request, fld_requeist, fld_datum_bestelling, fld_tijd_bestelling, fld_aantal_besteld, fld_opmerkingen) VALUES (cmb_shell_pn, '" & CStr(int_client) & "', txt_buysite, txt_cfp, txt_glro, txt_aim, txt_leverancier, txt_bedrag, chk_special_request, txt_requeist, txt_datum_bestelling, txt_tijd_bestelling, txt_aantal_besteld, txt_opmerkingen);"
'Als er geen sprake is van special request dan Shell P/N en Buysite óf GLRO verplichten
'Controle Shell P/N
If Not chk_special_request And IsNull(cmb_shell_pn) Then
MsgBox "Er dient een Shell P/N opgegeven te worden!"
Exit Sub
End If
'Controle Buysite of GLRO
If IsNull(txt_glro) And IsNull(txt_buysite) And Not chk_special_request Then
MsgBox "Er dient een Buysite of GLRO nummer opgegeven te worden!"
Exit Sub
End If
'Waarschuwings meldingen uitschakelen
DoCmd.SetWarnings False
'Query voor het toevoegen van de bestelling uitvoeren
DoCmd.RunSQL qry_insert
'Waarschuwings meldingen weer inschakelen
DoCmd.SetWarnings True
'Bericht geven aan gebruiker
MsgBox "De bestelling is toegevoegd."
'Velden legen
cmb_shell_pn.Value = ""
txt_buysite.Value = ""
txt_cfp.Value = ""
txt_glro.Value = ""
txt_aim.Value = ""
txt_leverancier.Value = ""
txt_bedrag.Value = ""
chk_special_request.Value = No
txt_requeist.Value = ""
txt_datum_bestelling.Value = ""
txt_tijd_bestelling.Value = ""
txt_aantal_besteld.Value = ""
txt_opmerkingen.Value = ""
End Sub
\\\\\\\\\\CODE
Bovenstaande code zit gekoppeld aan de knop Opslaan.
Als ik het formulier open en een bestelling invoer dan werkt het goed, inclusief de foutmeldingen wanneer ik een veld vergeet.
Het record wordt toegevoegd, de velden worden geleegd. Alles in orde tot zover.
Nu ga ik een nieuwe bestelling invoeren. vergeet express de verplichte velden, deze keer meld hij dit niet en meld gelijk De bestelling is toegevoegd.
Ik snap er dus eigenlijk helemaal niks van. Moet het complete formulier gereset worden oid?
Edit: Ik zou natuurlijk code kunnen toevoegen om het formulier te laten sluiten en weer te laten openen, maar dat vind ik niet echt netjes.. Ook weet ik niet zeker of het dan wel werkt.
Private Sub btn_opslaan_Click()
'variabelen declareren
Dim int_client As Integer
Dim qry_insert As String
'Controle of deze Compaq P/N een Client bevat. Zo ja dan Client op Yes (1) zetten.
If InStr(1, cmb_shell_pn, "-CL-", 1) <> 0 Then
int_client = 1
Else
int_client = 0
End If
'Query voor het invoeren van de bestelling in de database
qry_insert = "INSERT INTO tbl_best (fld_shell_pn, fld_client, fld_buysite, fld_cfp, fld_glro, fld_aim, fld_leverancier, fld_bedrag, fld_special_request, fld_requeist, fld_datum_bestelling, fld_tijd_bestelling, fld_aantal_besteld, fld_opmerkingen) VALUES (cmb_shell_pn, '" & CStr(int_client) & "', txt_buysite, txt_cfp, txt_glro, txt_aim, txt_leverancier, txt_bedrag, chk_special_request, txt_requeist, txt_datum_bestelling, txt_tijd_bestelling, txt_aantal_besteld, txt_opmerkingen);"
'Als er geen sprake is van special request dan Shell P/N en Buysite óf GLRO verplichten
'Controle Shell P/N
If Not chk_special_request And IsNull(cmb_shell_pn) Then
MsgBox "Er dient een Shell P/N opgegeven te worden!"
Exit Sub
End If
'Controle Buysite of GLRO
If IsNull(txt_glro) And IsNull(txt_buysite) And Not chk_special_request Then
MsgBox "Er dient een Buysite of GLRO nummer opgegeven te worden!"
Exit Sub
End If
'Waarschuwings meldingen uitschakelen
DoCmd.SetWarnings False
'Query voor het toevoegen van de bestelling uitvoeren
DoCmd.RunSQL qry_insert
'Waarschuwings meldingen weer inschakelen
DoCmd.SetWarnings True
'Bericht geven aan gebruiker
MsgBox "De bestelling is toegevoegd."
'Velden legen
cmb_shell_pn.Value = ""
txt_buysite.Value = ""
txt_cfp.Value = ""
txt_glro.Value = ""
txt_aim.Value = ""
txt_leverancier.Value = ""
txt_bedrag.Value = ""
chk_special_request.Value = No
txt_requeist.Value = ""
txt_datum_bestelling.Value = ""
txt_tijd_bestelling.Value = ""
txt_aantal_besteld.Value = ""
txt_opmerkingen.Value = ""
End Sub
\\\\\\\\\\CODE
Bovenstaande code zit gekoppeld aan de knop Opslaan.
Als ik het formulier open en een bestelling invoer dan werkt het goed, inclusief de foutmeldingen wanneer ik een veld vergeet.
Het record wordt toegevoegd, de velden worden geleegd. Alles in orde tot zover.
Nu ga ik een nieuwe bestelling invoeren. vergeet express de verplichte velden, deze keer meld hij dit niet en meld gelijk De bestelling is toegevoegd.
Ik snap er dus eigenlijk helemaal niks van. Moet het complete formulier gereset worden oid?
Edit: Ik zou natuurlijk code kunnen toevoegen om het formulier te laten sluiten en weer te laten openen, maar dat vind ik niet echt netjes.. Ook weet ik niet zeker of het dan wel werkt.
Laatst bewerkt: