MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 10.03.2003, 08:45   #1
stefanovic
(Email-Bestätigung fehlt!)
Frage Verknüpfungen von Dropdowns

Hallo zusammen...

ich habe ein problem mit dropdownlisten!
wenn ich z.b die Dropdownliste (DDL) "CPU" aufrufe, möchte ich, dass in einer 2ten DDL nur (!) die CPUs stehen und in einer dritten, ein Preis fuer den ausgewählten CPU in Liste 2.

Wie kann man das bewerkstelligen? ich habe es bereits mit der Access Hilfe probiert, aber kein erfolg

best wishes

stefanovic
stefanovic ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 08:56   #2
A.S.
Standard

Hallo Stefan,

zum einen und rein begrifflicher Natur handelt es sich um Kombinationsfeldsteuerelemente oder einfach Kombinationsfelder. DROPDOWN ist eine Methode eines Kombinationsfeldes zum öffnen der Liste.

Um nun Deine Problem zu lösen:

Im Kombinationsfeld cboKategorie hinterlegst als Datenherkunft Du eine SQL-Anweisung wie:

SELECT DISTINCT Kategorie FROM tblArtikel;

Das Kombinationsfeld cboProduct enthält die SQL:

SELECT Productname, Preis FROM tblArtikel WHERE Kategorie = Forms!frmDeinFormular!cboKategorie;

die zweite Spalte (mit dem Preis) setzt Du auf Spaltenbreite 0 (= nicht sichtbar)

Als drittes Feld ist ein einfaches Textfeld vorzuziehen, da ja eigentlich nur ein Preis für das entsprechende Produkt gültig ist. Dieser kann dem zweiten Kombinationsfeld nach Auswahl entnommen werden.

Im Ereignis "Nach Aktualisierung" des Kombinationsfeldes cboKategorie hinterlegst Du eine Ereignisprozedur mit dem Code

Me.cboProduct.Requery

Hierdurch wird das zweite Kombinationsfeld automatisch auf die Produktkategorie eingeschränkt.

Im gleichen Ereignis des Kombinationsfeldes cboProduct hinterlegst Du eine Ereignisprozedur mit

Me.txtPreis.Value = Me.cboProduct.Column(1)

Dadurch wird der in der zweiten (!!) Spalte stehende Preis des gewählten Produkts in das Textfeld txtPreis übertragen. In der zweiten Spalte, weil der Spaltenindex von Kombinationsfelder (und Listenfeldern) bei 0 beginnt.

Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 09:08   #3
stefanovic
Threadstarter Threadstarter
(Email-Bestätigung fehlt!)
Standard

Wow, das ging ja fix

Danke (ob ichs hinbekomme is die andere frage )
stefanovic ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 09:33   #4
stefanovic
Threadstarter Threadstarter
(Email-Bestätigung fehlt!)
Standard

hm, irgendwie bekomme ich das nicht hin!
wenn ich z.B. me.cboprodukt.requery angebe, sagt mir Access, dass es das makro "me" nicht finden kann usw... (ich verwende access 2000 sr-1)

weiterführend kann ich zwar alle kategorien anwählen aber kann trotzdem nur auf die produktgruppe zugreifen (z.B. CPU) die ich als erstes angewählt habe - auch wenn ich z.B. Monitore auswähle, habe ich im cboProdukte nur CPUs...

Gibt es irgendwo eine .mdb, wo ich mir das anschauen kann?
vielleicht könntest du mir ein kleines Beispiel geben, wäre nett!
sonst steh ich morgen ohne ein projekt in der schule
stefanovic ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 09:36   #5
A.S.
Standard

Kann es sein, das Du versucht hast, das von mir angegebene in einem Makro unterzubringen und nicht wie angegeben in einer Ereignisprozdur?

Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 09:49   #6
stefanovic
Threadstarter Threadstarter
(Email-Bestätigung fehlt!)
Standard

das habe ich gemacht:
1. Tabell tblartikel angelegt mit spalten Kategorie, Artikel und Preis
2. Formular angelegt mit Dropdownliste cboKategorie ->
datensatzherkunft: select distinct Kategorie from tblartikel
3. Nochmal DDL cboProdukte mit datensatzherkunft:
select produkt, preis from tblartikel where
kategorie=forms!formular1!cbokategorie;
4. unter ereignis in cboprodukte bei "nachaktualisierung"
me.cboprodukte.requery
5. dann wollte ich mal testen und dann kommt diese Meldung mit von
wegen Makro "me" nicht gefunden...

ich verzweifel noch
stefanovic ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 09:54   #7
A.S.
Standard

Hallo Stefan,

danke für die ausführliche Beschreibung dessen was Du gemacht hast Bei manchen braucht man dafür 6 oder 7 Anläufe um dahinterzukommen was schief geht.

Der Fehler liegt in Schritt 4:

Hier ist die Ereigniseigenschaft auf "[Ereignisprozedur]" einzustellen. Führe dazu einfach einen Doppelklick auf das Eingabefeld auf. Anschließende folgst Du dem am Ende des Eingabefeldes stehenden "3-Punkte-Button" und fügst in der dann erscheinenden Ereignisprozedur das von mir benannte Coding ein.

Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 10:00   #8
stefanovic
Threadstarter Threadstarter
(Email-Bestätigung fehlt!)
Hinweis


juhuu, es funktioniert!!!!!!!!!!!!

Zitat:

die zweite Spalte (mit dem Preis) setzt Du auf Spaltenbreite 0 (= nicht sichtbar)

welche spalte??? ich versteh nicht ganz...
stefanovic ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 10:04   #9
A.S.
Standard

Die von mir angegebene SQL

SELECT Product, Preis FROM tblArtikel WHERE Kategorie = Forms!frmDeinFormular!cboKategorie;

liefert an das Kombinationsfeld 2 Spalten bzw. Felder zurück: Product und Preis.

Die Eigenschaft "Spaltenanzahl" des Kombinationsfeldes cboProduct muß auf 2 stehen, die Eigenschaft "Gebundene Spalte" auf 1 (eben den Produktnamen). Dann gibt es noch die Eigenschaft "Spaltenbreite", welche Angaben über alle im Kombinationsfeld enthaltenen Spalten enthalten sollte. Damit im Kombinationsfeld nur die Produktnamen - aber nicht die Preise - angezeigt werden, stellst Du diese Eigenschaft auf z.B.

2,5 cm; 0 Cm

ein, wodurch dann nur die Produktnamen aber eben nicht die Preise (da deren Spalte 0 cm breit sind) angezeigt werden.

Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 10:14   #10
stefanovic
Threadstarter Threadstarter
(Email-Bestätigung fehlt!)
Standard

oki, das hab ich nur nicht verstanden, aber is logisch

da gibts nur noch eine ungereimtheit:
ich habe momentan 2 Kategorien: CPU und Monitore
jetzt wähle ich CPUs aus und wähle bei Produkte z.B. P4

jetzt sieht es so aus: |CPUs| |P4| |200|
Kategorie Produkt Preis

wähle ich jetzt statt CPUs Monitore aus passiert folgendes
ich bekomme als Kategorie wie gewünscht "monitore"
unter Produkte kann ich aber nur (!) den P4 auswählen anstatt belinea
und Preis bekomme ich gar keinen...

ungefähr so siehts aus |Monitore| |P4| | |
Kategorie Produkt Preis

und jetzt, wenn ich wieder CPUs anwähle, bekomme ich als Produkte
den Belinea Monitor aufgelistet (wieder kein Preis)

wähle ich wieder Monitore aus, bekomme ich den P4 aufgelistet!
An tblartikel liegt es nicht, dort stimmt alles...

stefanovic ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 10:17   #11
A.S.
Standard

Hast Du auch das Ereignis "Nach Aktualisierung" des Kombinationsfeldes für die Kategorie genommen und nicht "Vor Aktualisierung"?

Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 10:27   #12
stefanovic
Threadstarter Threadstarter
(Email-Bestätigung fehlt!)
Standard

jo,

cboprodukt - nach aktualisierung:

im codeeditor steht nun folgendes:

private sub cboprodukt_afterupdate ()
me.cboprodukt.requery
me.txtpreis.value = me.cboprodukt.column(1) (gehört da nicht 2 hin weil ja in spalte 2 der preis steht)
end sub
stefanovic ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 10:46   #13
A.S.
Standard

Hallo Stefan

Zitat:

Original geschrieben von A.S.
Me.txtPreis.Value = Me.cboProduct.Column(1)

Dadurch wird der in der zweiten (!!) Spalte stehende Preis des gewählten Produkts in das Textfeld txtPreis übertragen. In der zweiten Spalte, weil der Spaltenindex von Kombinationsfelder (und Listenfeldern) bei 0 beginnt.


Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 11:25   #14
stefanovic
Threadstarter Threadstarter
(Email-Bestätigung fehlt!)
Standard


ok, hab ich übersehen...

aber leider besteht das Problem immer noch
stefanovic ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2003, 11:30   #15
A.S.
Standard

Das

me.cboprodukt.requery

gehört nicht in das Nachaktualisierungsereignis von cboprodukt sondern in das entsprechende Ereignis von cbokategorie.

Gruß

Arno
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.