formulier na invullen pas in database laten schrijven

Status
Niet open voor verdere reacties.

Royal

Gebruiker
Lid geworden
21 okt 2003
Berichten
16
Ik heb 3 vragen wat betreft een database vullen doormiddel van een formulier.

1.Ik heb een formulier waarmee gegevens ingevoerd moeten worden. Op dit moment wordt tijdens het typen in het formulier direct in de database geschreven. Ik wil nu weten hoe ik pas de database kan vullen nadat het formulier helemaal is ingevuld of doormiddel van een knop "invoeren" wie kan mij hiermee helpen.

2.Ik heb daarbij nog een vraag ik wil namelijk nog tekst vakken verplicht laten invoeren. en als het tekstvak niet wordt ingevoerd mag er ook niets in de database worden geplaatst. er moet dus een foutmelding verschijnen als de verplichte vakken niet zijn ingevuld. hoe kan ik dit tot stand brengen.

3. tot slot wil ik op het formulier door middel van vakjes waarin je kan vinken een tekstvak actief maken. er moet dus een tekstvak zijn dat grijs gekleurd is en waar dus niets ingevuld kan worden. na een vinkje geplaatst te hebben moet het grijse tekst vak weer wit worden zodat nu wel gegevens ingevoerd kunnen worden.

Bijvoorbaat dank voor de hulp
 
Vraag2.
Zet bij het sluiten van het formulier volgende programmacode

Me!txt.SetFocus
If Me!txt.Text = "" Then
MsgBox "het tekstvak is niet ingevuld"
End If
End Sub


Vraag3.
Zet in de eigenschappen van de checkbox (chk ) Na bijwerken de volgende code

Private Sub chk_AfterUpdate()
If Me!chk = True Then
Me!txt.Enabled = True
Else
Me!txt.Enabled = False
End If
End Sub

Wanneer de checkbox aangevinkt is, zal het tekstvak (txt) kunnen ingevuld worden.
 
Thanx alverpos ik heb het meteen geprobeerd en het werkt bijna allemaal. Het enige dat nog niet functioneert zoals ik wil is vraag 2 die je hebt beantwoord. het werkt wel ik krijg de melding wel maar hij sluit het formulier meteen na de foutmelding weg te klikken. maar het is juist de bedoeling dat het formulier niet gesloten wordt zodat het leeg gelaten text vak nog ingevuld kan worden. als je weet hoe ik dit nog kan oplossen dan hoor ik dat graag en nogmaals bedankt voor het oplossen van vraag 3 en het bijna oplossen van vraag 2. hoef nu alleen nog maar te w8en op een antwoord op mijn eerste vraag.
 
Misschien is het beter om een knop toe te voegen met daaraan de volgende code (Bij Klikken)

Private Sub cmdControle_Click()
Me!txt.SetFocus
If Me!txt.Text = "" Then
MsgBox "het tekstvak is niet ingevuld"
txt.SetFocus
End If
End Sub


Je kan ook laten controleren of alle tekstvakken ingevuld zijn, gewoon de naam van elk tekstvak invullen.
Afsluiten van het formulier moet dan wel met een andere knop gebeuren
 
Laatst bewerkt:
verplicht invullen veld

zet in de tabel bij de opties voor het veld, requierd op yes, dan wordt ook in het invul formulier gevraagd om eht veld in te vullen. je kunt het formulier dan wel sluiten maar het record wordt neit opgeslagen
 
vraag 1.....
Je formulier is gebaseerd op een tabel of query in de database, hierdoor wordt het gelijk in de database ingevoerd.... Als je dit dus wilt vermijden moet je je formulier onafhankelijk maken. De tekst vlakken dus niet linken aan een veld in de db maar ubound(en).
Als je dan een knop maakt waar je dan in een gebeurtenis een invoeg sql string maakt is je probleem opgelost!

bv
Code:
    Dim db As database
    Dim sql As String
    Set db = CurrentDb()
    sql = "INSERT INTO [tblNaam] " & _
            "([tblVeld1],[tblVeld2],[tblVeld3]) " & _
            "SELECT '" & Me.[LinkendeVeldnaam1 in Form] & "', '" & Me.[LinkendeVeldnaam2 in Form] & "', '" & Me.[LinkendeVeldnaam3 in Form] & "';"
    db.Execute sql, dbfailonerror
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan