Ga naar inhoud

Controleer of naam in een andere tabel voor komt zo niet, dan aanbrengen


Watertoren

Aanbevolen berichten

Ik ben bezig een Acces Database te bouwen. Ik ben al een eind gevorderd maar nu loopt ik tegen een probleem op.

Op het Formulier waar alle gegevens ingevuld worden, wordt de naam van een land ingevuld middels een invoerveld met keuzelijst. Op deze keuzelijst staan alle erkende landen van de wereld. Reden: om een éénvormige schrijfwijze te hebben ivm later selecties.

Ná het aanklikken van de keus, moet er gecontroleerd worden of dit gekozen land reeds aanwezig is in de tabel "Aanwezige landen in DB". Zo niet niet dan moet hij dat melden en aanbrengen in die tabel.

Reden: bij het opgeven van selecties met landen, moet de gebruiker niet lastig gevallen worden met alle mogelijke erkende landen van de wereld, maar alleen keus hebben uit de aanwezige landen in de DB.

Ik heb een QSL-procedure bijgesloten. Maar die werkt niet. Ik heb ook de database bijgesloten.

 

Private Sub Land_AfterUpdate()Land_NotInTABLE.AanwezigelandeninDB(NewData As String, Response As Integer)

If MsgBox(NewData & vbLf & vbLf & "Dit land staat nog niet in de keuzelijst voor selecties." & vbLf & vbLf & "In de lijst opnemen?", vbYesNo, "Land ontbreekt") = vbYes Then
   Response = acDataErrAdded
   DoCmd.RunSQL "INSERT INTO Tabel Aanwezige landen in DB(Land) VALUES('" & NewData & "')"
Else
   Response = acDataErrContinue
   Me.Land.Undo
End If
End Sub

GFO CCA ONTWIKKELVERSIE versie 1_13 dd 6-3-2015.accdb

Link naar reactie
Delen op andere sites

Hallo plx

We zijn op de goede weg. Echter......het nog niet aanwezige land wordt nu toegevoegd aan de "Tabel Erkende Landen". De bedoeling is dat het land, dat ingevoerd wordt vanuit de keuzelijst, gecontroleerd wordt in de tabel "Tabel Aanwezige landen in DB". Als het land niet in "Tabel Aanwezige landen in DB" voorkomt, moet het toegevoegd worden deze tabel "Tabel Aanwezige landen in DB". Daarna keert hij weer terug naar de plek waar hij was: het formulier.

Link naar reactie
Delen op andere sites

Je hebt niet mis. Je hebt gelijk. Ik kan de procedure "lezen" en snappen. Ik zag dat hij wel de goede tabel controleerde maar het onbekende land in de verkeerde tabel zette. Ik heb dat aangepast en dat zat dus in de database die ik bijgesloten had. Die procedure loopt nu prima. Wat moet er nog bij om hem ná de constatering dat het geen onbekend land is en hij keert terug naar de plek waar hij was, hem dan meteen naar het volgende veld (in dit geval "Telefoon") te laten springen?

Link naar reactie
Delen op andere sites

Dat doe je in het geval dat je het veld wilt verlaten. Dus als er een nieuw land is toegevoegd.

Private Sub Land_AfterUpdate()
    If Land_NotInTabelAanwezigelandeninDB(Land.Value) = vbNo Then
        Land.Value = ""
    Else
        SendKeys "{TAB}"
    End If

End Sub
Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.