Hallo,
Ich verwende folgende Fkt. um einen Ausdruck mit dem inhalt einer table zu vergleichen:
So verwende ich die fkt.:
Der nutzer soll in ein eingabefeld eine neue technology bezeichnung eingeben.über einen hinzufügenbutton, wird vorher geprüft ob das feld nicht leer ist (das geht) und ob die bezichnung noch nicht in der table vorkommt.beim ausprobieren kommt er nicht bis zu der testzeile msgbox"insert zweig" es scheint also an der if clausel zu liegen...
danke für eure hilfe
Ich verwende folgende Fkt. um einen Ausdruck mit dem inhalt einer table zu vergleichen:
Quellcode
- 'Funktion zum Vergleichen eines Ausdruckes mit dem Inhalt einer Tabelle
- Public Function XDLookup(Expression As String, Domain As String, Optional DBPfad, Optional Criteria) As Variant
- Dim strSQLDF As String
- On Error GoTo Err_XDLookup
- strSQLDF = "SELECT " & Expression & " FROM " & Domain
- If (Not IsMissing(DBPfad)) Then
- If (Len(Nz(DBPfad, "")) > 0) Then strSQLDF = strSQLDF & " IN " & Chr(34) & DBPfad & Chr(34)
- End If
- If (Not IsMissing(Criteria)) Then
- If (Len(Nz(Criteria, "")) > 0) Then strSQLDF = strSQLDF & " WHERE " & Criteria
- End If
- strSQLDF = strSQLDF & ";"
- XDLookup = DBEngine(0)(0).OpenRecordset(strSQLDF, dbOpenForwardOnly)(0)
- Exit Function
- Err_XDLookup:
- XDLookup = Null
- End Function
So verwende ich die fkt.:
Quellcode
- Private Sub NewTech_Click() 'Neue Technology in Tabelle einfügen
- On Error GoTo Err_NewTech_Click
- Dim rst As ADODB.Recordset
- Dim Vorhanden As Integer
- 'Prüfung: 1.Feld nicht leer? 2.TechName noch nicht vorhanden?
- If Me!NewTechField.Value Then
- Vorhanden = XDLookup(" & NewTechField.Value & ", "Technology")
- If Not IsNull(Vorhanden) Then
- MsgBox "Please choose a New Name", vbCritical
- Else
- MsgBox "Insert Zweig", vbOKOnly
- DB.Execute "INSERT INTO TECHNOLOGY (TechName) VALUES ('" & NewTechField.Value & "')"
- MsgBox "New Data was added...", vbOKOnly
- End If
- Else
- MsgBox "Please fill out: New Technology", vbCritical
- End If
- Set rst = Nothing
- Exit_NewTech_Click:
- Exit Sub
- Err_NewTech_Click:
- MsgBox Err.Description
- Resume Exit_NewTech_Click
- End Sub
Der nutzer soll in ein eingabefeld eine neue technology bezeichnung eingeben.über einen hinzufügenbutton, wird vorher geprüft ob das feld nicht leer ist (das geht) und ob die bezichnung noch nicht in der table vorkommt.beim ausprobieren kommt er nicht bis zu der testzeile msgbox"insert zweig" es scheint also an der if clausel zu liegen...
danke für eure hilfe