check field exist in table

Status
Niet open voor verdere reacties.

sis123

Gebruiker
Lid geworden
17 feb 2005
Berichten
284
In bijlage een heel simpel voorbeeldje dat niet wil lukken. Ook al bestaat de naam komt de boodschap dat het veld niet bestaat.
Met veld bedoel ik de ingevoerde data.
 

Bijlagen

  • doesfieldexist.rar
    9,1 KB · Weergaven: 22
Laatst bewerkt:
De code achter de knop checkt de veldnamen, en niet de inhoud. Dus als je de veldinhoud wilt checken, zul je iets anders moeten doen, namelijk: de tabel openen, en door alle records lopen om het veld 'naam' te vergelijken met de tekst uit de Inputbox.

Als je de DAO bibliotheek laadt, kan je dat als volgt doen:

Code:
Dim Prompt, sNaam As String
Dim db As DAO.Database, rs As DAO.Recordset
Dim sName As String
Dim tableName As String
Dim FieldExists As Boolean
    
    Prompt = "Vul hieronder de naam in"
    sNaam = InputBox(Prompt)
    tableName = "main"
    
    Set db = CurrentDb()
    Set rs = db.OpenRecordset(tableName)
    rs.MoveFirst
    Do While Not rs.EOF
        If rs.Fields("naam").Value = sNaam Then
            FieldExists = True
            Exit Do
        End If
        rs.MoveNext
    Loop
    
    If FieldExists Then
        MsgBox "Reeds in tabel"
    Else
        MsgBox "Nog niet in tabel"
    End If

    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing

Kom je hier uit?

Michel
 
Bij Dim db As DAO.Database krijg ik een compileerfout - Een door de gebruiker gedefinieerd gegevenstype is niet gedefinieerd
 
Dat kan te maken hebben met de (al dan niet) geladen bibliotheken.

Voor de volledigheid maar even de complete uitleg:

Vanuit het Visual Basic venster (<Alt>+<F11>) kies je <Extra>, <Verwijzingen>.
Vervolgens zoek je in de lijst naar Microsoft DAO 3.6 Object Library. Mag eventueel ook wel een oudere versie zijn.

Wel opletten: als je ook de ADO 2.8, of ouder, hebt geladen moet je ervoor zorgen, dat de DAO bibliotheek onder de ADO bibliotheek staat, en dus later wordt geladen. Doe je dat niet, dan krijg je ook problemen.

Laat maar even weten hoe e.e.a. staat. Hierbij nog een plaatje hoe ik het heb gedaan.

Michel
 

Bijlagen

  • Verwijzingen.jpg
    Verwijzingen.jpg
    43,6 KB · Weergaven: 25
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan