drop down menü (kombinationsfeld)

Brauni

Erfahrenes Mitglied
sers

was müsste ich eigentlich machen, wenn ich zuerst den ort eingebe und dann die postleitzahl haben will??
ich würde das coding beim focusverlust des kombifeldes (ort) einfügen. ich denk da würds hinpassen.

cu
brauni
 

Dario Linsky

Erfahrenes Mitglied
nimm dir das ausgewählte item aus der combobox mit den orten und setz die rowsource-eigenschaft von der plz-combo auf:
Code:
"select * from plz where plz.ort = '" & dein_ort & "';"
 

Brauni

Erfahrenes Mitglied
thx
eine frage hätte ich noch:
ich will in einem formular verhindern, dass man nicht 2 mal die selbe rechnungsnummer eingeben kann. wenn es nur zahlen sind ist es kein problem nur in einer rechnungsnummer kann auch ein buchstabe vorkommen und so muss ich das item in der tabelle as text und die variable als string deklarieren.
mit der sql anweisung kommt immer die fehlermeldung:
Datentypen in Kritierienausdruck unverträglich

Set rst = dbs.OpenRecordset("select nrtxt from tbl_punzierungsgeb where nrtxt = " & num & ";")

diese sql-anweisung funzt einwandfrei mit zahlen. sobald eine buchstabe in der variable num drinnen steht geht nix mehr!! :(
wieso ist das so???

danke
brauni
 

Dario Linsky

Erfahrenes Mitglied
das kannst du ganz einfach abfangen. mal angenommen, deine rechnungsnummer wird auf dem formular im control Text0 eingegeben:

Code:
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset

If IsNumeric(Text0) Then
    rst.Open "SELECT nrtxt FROM tbl_punzierungsgeb WHERE nrtxt = " & Text0 & ";", CurrentProject.Connection, adOpenStatic, adLockPessimistic, -1
    If rst.RecordCount > 0 Then
        'Nummer schon vorhanden
    Else
        'Nummer noch nicht vorhanden
    End If
    rst.Close
Else
    'Eingabe ist nicht numerisch
End If

Set rst = Nothing

und lass die finger von dao. das benutzt heute kein mensch mehr. ;)
 

Brauni

Erfahrenes Mitglied
benutzerdefinierte typ nicht definiert

kommt bei: Dim rst As ADODB.Recordset

mit dao muss das ja auch gehen oder?
mit zahlen funzt es einwandfrei nur mit buchstaben oder gemischt funzt es ned.
 
Zuletzt bearbeitet:

Dario Linsky

Erfahrenes Mitglied
im menü unter extras\verweise:
- dao 3.6 raus.
- microsoft activex data objects rein.
dann klappt's. ;)

isnumeric prüft, ob ein string einen numerischen wert (sprich eine zahl) enthält. wenn irgendwas anderes als zahlen in dem string vorkommen, liefert isnumeric false zurück und du kannst abbrechen.
 

Brauni

Erfahrenes Mitglied
was ist eigentlich an DAO so schlecht??
ich beschäftige mich damit seit ca. 3 wochen und ich finde es super!
 

Dario Linsky

Erfahrenes Mitglied
schlecht ist an dao eigentlich gar nichts. es ist nur einfach veraltet und wird früher oder später aussterben. microsoft stellt sich nämlich immer mehr auf ado um. und daher wird man so oder so nicht um ado herum kommen können.
dich zwingt ja niemand dazu, ado zu nehmen. es ist aber nicht besonders sinnvoll jetzt noch dao zu lernen, denn das hat eben keine zukunft mehr.