WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   VBA/Access: mehrere Abfragen in ein Listfeld (http://www.wcm.at/forum/showthread.php?t=86947)

BigNfan 05.02.2003 11:18

VBA/Access: mehrere Abfragen in ein Listfeld
 
http://members.chello.at/ntsc-j/verleih.jpg

folgendes prob:
ich gebe kundennummer und produktnummer ein
auf hinzufügen und es sollte im listfeld erscheinen

ist ja noch kein problem.. einfach ne abfrage
aber was mach ich wenn er noch mehrere produkte hinzufügt werden?

wie bring ich mehrere abfragen in ein listfeld?


die einzige möglichkeit die mir einfiel ist ich erstell ne tabelle schreib das dann dort rein.. und das steht dann im listfeld..

aber mein professor maunzt dann wieder weils ne extra-tabelle is..

ich hoffe mir kann wer helfen
kann man vielleicht im code ne tabelle erstellen? und wenns formular geschlossen wird lösch ichs wieder..

wenns ohne tabelle gehen würd wärs mir am liebsten


ps: schulprojekt :D

chrisne 05.02.2003 11:26

hmm. kannst du mir das bitte nocheinmal erklären.
ich verstehe das nicht so ganz, wo dein problem ist.

danke
chris

BigNfan 05.02.2003 11:39

wie ich 2 oder mehrere Abfragen in ein Listfeld bekomme

schau.. er schreibt ne produktnummer hin.. geht auf hinzufügen.. und der name erscheint unten.. erreich ich mit ner abfrage

wenn er jetzt noch ein produkt hinzufügt.. wieder ne abfrage..
aber wie bekomm ich mehrere abfragen in ein listfeld ?

chrisne 05.02.2003 11:45

Zitat:

Original geschrieben von BigNfan
wie ich 2 oder mehrere Abfragen in ein Listfeld bekomme

schau.. er schreibt ne produktnummer hin.. geht auf hinzufügen.. und der name erscheint unten.. erreich ich mit ner abfrage

wenn er jetzt noch ein produkt hinzufügt.. wieder ne abfrage..
aber wie bekomm ich mehrere abfragen in ein listfeld ?

ich bin einfach zu dumm:
also nocheinmal für die billigen plätze:

du schreibst in produktnummer eine nummer rein (z.b.: 1234) und im listenfeld unten steht dann der dazugehörige wert (zb. handschuhe).
richtig ??

frage eins: was passiert mit den werten die unten stehen. lasst du die nur anzeigen oder werden die in eine tabelle geschrieben.

frage zwei: was soll passieren, wenn due eine zweite produktnummer eingibst.

sorry, ich verstehe das ganze leider noch nicht.

gruss
chris

BigNfan 05.02.2003 11:48

wenn ich eine zweite produktnummer eingebe sollen beide artikel dortstehn

und wenn man dann auf ok drückt werden die artikel als "Verliehen", "Zurückgebracht" oder "Verkauft" in der tabelle vermerkt

chrisne 05.02.2003 12:07

jetzt weiss ich was ich meine.
naja ist eh nicht so schwer. du musst einfach nur den listfeld die werte zuweisen.
das kannst du mit den befehl: RowSource machen:

hier ein kleines beispiel:

dim source as string

source =[Liste].RowSource & ";" & Produktnummer
Me![Liste].RowSource = source

fertig

in diesen beispiel wird einen listenfeld mit den namen "Liste"
der wert von den Feld "Produktnummer" angefügt.
habe zum testen einen button gemacht und jedesmal wenn ich drauf klicke habe ich einen wert mehr in der liste.
den ";" brauchst du, weil du damit den listfeld bekannst gibst, dass das ein neuer datensatz ist.

alles klar ????

gruss
chris

BigNfan 05.02.2003 12:10

ich denke

also immer wenn ich eine produktnummer hinzufügen will schreib ich erneut:

source =[Liste].RowSource & ";" & Produktnummer
Me![Liste].RowSource = source

oder ?

chrisne 05.02.2003 12:14

welche version von access hast du ???
2000 und xp kann ich jetzt gerade öffnen.
ich schicke dir eine pm mit meiner email adresse.
sende mir das file und baue dir das auf die schnelle ein.

sagst halt deinen lehrer nicht, dass du das nicht warst :)

gruss
chris

BigNfan 05.02.2003 12:24

hi
hab office xp

ich versuchs mal selber

danke für die hilfe

aber muss es ja können weil sonst kann ichs zur matura nicht ;)

chrisne 05.02.2003 12:32

ok. selber machen ist eh besser :)

also nocheinmal für dich.

du hast den button "hinzufügen". da wird dann unten in der liste ein wert angezeigt. was du aber brauchst, ist der liste einen wert hinzufügen. und das geht mit RowSource wie schon beschrieben.

mit me! kannst du feldern werte setzten:
me![liste] :wäre das listenfeld mit den namen "liste"
me![liste].RowSource :damit sagst, dass das listenfeld folgende einträge von dir bekommt z.b:
me![liste].RowSource = "Test1; Test2; Test3"
in der liste würde dann stehen: Test1 und Test2 und Test3
";" trennt die werte ab.
da du aber den wert nicht jedesmal überschreiben willst, sondern dazuhängen muss du vorher den alten wert der liste auslesen. dafür brauchen wir eine variable:

dim source as string 'varibale source als test
jetzt müssen wir den alten wert auslesen:
source =[Liste].RowSource ' die variable hat den alten listenwert
jetzt den neuen wert noch dazuhängen:
source =[Liste].RowSource & ";" & Produktnummer 'Produktnummer ist ein Feld
und zum schluss den neuen wert wieder in die liste schreiben:
Me![Liste].RowSource = source

ich kann dir darüber ein kleines beispiel schreiben, wenn du mir deine mail adresse gibst.
kennst dich jetzt aus ???

gruss
chris


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag