drop down menü (kombinationsfeld)

Brauni

Erfahrenes Mitglied
sers

mein problem:
ich gebe im feld PLZ, in access, eine nummer ein und daneben soll er mich alle orte in einem drop down menü (kombinationsfeld) mit der plz anzeigen. es gibt ja mehrere orte mit der selben PLZ.

weis wer wie man das problem lösen kann???
aulesen ist kein problem, nur das speichern in drop down menü funzt leider ned!

cu
brauni
 

Paranoia

Erfahrenes Mitglied
hallo..

Code:
Combo1.AddItem "Ort"

das wiederholst du so lange, wie es orte für die passende plz gibt.
um die combobox zu leeren verwendest du folgenden code:

Code:
Combo1.Clear

hope it helps you..

greetings para
 

Brauni

Erfahrenes Mitglied
sers

habe ich auch schon probiert. geht leider nicht. er schreibt nix in das kombinationsfeld hinein. hier mein coding:

Dim DBS As DAO.Database
Dim RST As DAO.Recordset

On Error Resume Next

varplz = 0
varplz = Forms!frm_kunde.plz.Value

Set DBS = CurrentDb()
Set RST = DBS.OpenRecordset("select ort from tbl_ortplz where plz = " & varplz & ";")

Do
varort = RST.Fields("ort")
Kombinationsfeld95.AddItem varort
RST.MoveNext
Loop Until RST.EOF

RST.Close
DBS.Close
 

Dario Linsky

Erfahrenes Mitglied
ja, die controls bei access sind auch anders als die von vb. nervt mich auch immer wieder. :(

wenn ich dich richtig verstehe, dann brauchst du eigentlich nichtmal unbedingt viel code. da die steuerelemente von access ja sowieso schon an die datenbank gebunden sind, musst du ja nur noch die datenherkunft festlegen.
im eigenschaftseditor unter der gleichnamigen eigenschaft oder - wenn es flexibel sein soll:
Code:
Kombinationsfeld95.RowSource = "SELECT ort FROM tbl_ortplz WHERE tblort.plz = " & Text0 & ";"
Me.Requery

funktioniert allerdings nur, wenn auch wirklich text in das control Text0 eingegeben worden ist.
ich versteh nur nicht so ganz, wieso mehrere orte die gleiche plz haben sollen? eher umgekehrt - ein ort hat mehrere plz's...

ps: das mit dem 'On Error Resume Next' solltest du dir abgewöhnen - so gibt's irgendwo einen fehler und irgendwas funktioniert nicht, und keiner weiss, wieso. schreib stattdessen lieber eine fehlerbehandlung die bei einem fehler abbricht und was anderes macht (user informieren z.b.).

pps: dao ist veraltet! ;)
 

Brauni

Erfahrenes Mitglied
ne
unsere gemeinde hat 2102
kleinengersdorf (nachbarskaf) hat auch 2102
sowie ein anderes kaf flandorf (hat auch 2102)

es funzt danke euch!!!!!!!!
ohe me.query funzt es auch.
 

Dario Linsky

Erfahrenes Mitglied
mag sein, dass es bei dir auch ohne ein requery funktioniert. aber das ist einfach sauberer programmiert. sowas solltest du dir von anfang an angewöhnen, sonst wirst du immer wieder probleme mit solch banalen sachen haben. ich kenn das selber...
access macht da immer mal ganz gerne das, was es gerade machen möchte. :rolleyes:
 

Dario Linsky

Erfahrenes Mitglied
komisch... bei mir geht das ohne probleme, ich mach das immer so, wenn ich den formular-inhalt veränder.
welche access-version hast du denn?
 

Dario Linsky

Erfahrenes Mitglied
requery bedeutet (wörtlich übersetzt) 'erneut abfragen' und genau das macht es auch: es fragt den datenbestand, der hinter dem formular (oder control) liegt einfach nochmal neu ab.
von sich aus macht access sowas glaub ich nicht immer sofort. ist jedenfalls bei access 2000 so.