Gebeurtenis opbouwen

Status
Niet open voor verdere reacties.

rvdsch

Gebruiker
Lid geworden
18 jun 2009
Berichten
170
Beste forummers,

Ik wil graag dat als ik een formulier open, het formulier geopend word op een nieuw record en niet het eerste record. Ik gebruik de volgende code maar krijg een foutmelding. Wat is er aan de hand?

Code:
Private Sub Form_OPEN()
On Error GoTo Form_OPEN

DoCmd.OpenForm "frmAddMovement", , , , acFormAdd
 
AcNewRec

Gebruik AcNewRec ipv acFormAdd.


Code:
Private Sub Form_OPEN()
On Error GoTo Form_OPEN

stDocName = "formuliernaam"

DoCmd.OpenForm stDocName
DoCmd.GoToRecord , , acNewRec

Formuliernaam zelf invullen.

AcFormAdd is: Geeft de gegevensinvoermodus van een formulier aan. In dit geval: de gebruiker kan nieuwe records toevoegen, maar geen bestaande records bewerken.
 
Dankjewel voor je response Greenery

Ik heb de code toegepast maar hij werkt nog steeds niet. Ik denk dat het komt omdat het formulier niet lekker draait. Als ik wil navigeren tussen de records krijg ik steeds foutmeldingen met ongeldige waardes (hoewel in mijn beleving alles goed staat).
Weet jij misschien een boek of website waar alle SQL commando's staan beschreven? Ik loop nu maar wat aan te klooien en kom er niet uit.
 
Ik ben wat verder gegaan. Ik heb dus het formulier. Ik wil dat er een gebeurtenisproces komt bij het openen van het formulier namelijk:
1. openen van een nieuw record
2. Het onmogelijk maken voorgaande records te wijzigen
Dit wordt niet gedaan.

Dan is er ook nog een knop met het liefst de volgende functies.
1. Opslaan van huidig record
2. Openen van een volgend record
3. Het onmogelijk maken van het wijzigen van het record
De eerste twee lukken, de derde helaas niet

De code die ik gebruik is
Code:
Private Sub FormulierOpenen()
On Error GoTo FormulierOpenen


DoCmd.OpenForm ZandGrind
DoCmd.OpenForm , , acFormAdd
DoCmd.GoToRecord , , acNewRec


End Sub

Private Sub Navknop_Click()
On Error GoTo Err_Navknop_Click

 DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    DoCmd.GoToRecord , , acNext
    
Exit_Navknop_Click:
    Exit Sub

Err_Navknop_Click:
    MsgBox Err.Description
    Resume Exit_Navknop_Click
    
End Sub

Wat doe ik fout:(
 
SQL info

Dankjewel voor je response Greenery

Ik heb de code toegepast maar hij werkt nog steeds niet. Ik denk dat het komt omdat het formulier niet lekker draait. Als ik wil navigeren tussen de records krijg ik steeds foutmeldingen met ongeldige waardes (hoewel in mijn beleving alles goed staat).
Weet jij misschien een boek of website waar alle SQL commando's staan beschreven? Ik loop nu maar wat aan te klooien en kom er niet uit.

Eerst deze vraag ff beantwoorden:

boek:
Het SQL Leerboek, Rick F. van der Lans, 6e druk.

website:
http://docent.ehsal.be/vakken/infoburo/Access/SQL.html


Dit is overigens VBA code (ff voor de zekerheid melden):
Code:
Private Sub FormulierOpenen()
On Error GoTo FormulierOpenen

 DoCmd.OpenForm ZandGrind
 DoCmd.OpenForm , , acFormAdd
 DoCmd.GoToRecord , , acNewRec

End Sub
 
foutje...

Je hoeft DoCmd.OpenForm ZandGrind niet bij Formulier openen te zetten, dat was mijn fout. Ik had het slecht gelezen. Ik open meestal formulieren met knoppen (schakelbord).

De code wordt dus:

Code:
Private Sub FormulierOpenen()

DoCmd.GoToRecord , , acNewRec

End Sub

De DoCmd.OpenForm , , acFormAdd zou ik ook niet meegeven.
Ikzelf zal dit altijd instellen in het formulier (zie screenshot).

Zou je het 3e punt willen verduidelijken?
"Het onmogelijk maken van het wijzigen van het record"

Je wilt dat men eerder ingevoerde gegevens niet kan bewerken in het formulier?
Je kunt dus terug in het formulier naar het vorige record en deze nog kan aanpassen?

Indien beide ja, zou ik voor een simpele oplossing kiezen bijvoorbeeld voor het uitschakelen van de navigatieknoppen. Of het afsluiten van het formulier en mensen te dwingen tot het toevoegen (DoCmd.GoToRecord , , acNewRec) van een nieuw record.
 

Bijlagen

  • Toevoegingen.jpg
    Toevoegingen.jpg
    27,1 KB · Weergaven: 69
Hey Greenery,

Ik heb jouw code gebruikt en het weten op te lossen:thumb:. Het probleem was eigenlijk dat ik FormOpen gebruikte terwijl het FormLoad had moeten zijn:rolleyes:

Mijn bedoeling is eigenlijk dat gebruikers nadat zij een formulier hebben ingevuld en op een knop hebben gedrukt deze niet meer kunnen wijzigen. Het moet wel mogelijk blijven te navigeren tussen de records. Ook dit is inmiddels gelukt met aan de hand van jouw screenshot!


dankjewel voor je moeite
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan