Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Access 2000 SQL

Empfohlene Antworten

Veröffentlicht

Hallo,

Ich möchte aus einer tabelle text_tab diejenigen [stichwort] datensätze in einer Kombobox in access2000 ausgeben lassen, die von mitarbeitern einer bestimmten Abteilung geschrieben worden sind.

Tabelle [text_tab] und Tabelle [benutzer] sind über den schlüssel ben_nr verbunden.

Wie schreibe ich das in der SQL auswahl des Kombofeldes?

Ich wähle vorher die Abteilung mit einer anderen Kombobox namens Abteilung_box aus.

Vielleicht habe ichs etwas kompliziert ausgedrückt. in Text_tab steht das stichwort und die ben_nr. In Benutzer (tabelle) steht die Ben_nr als prim. key und die abteilung der mitarbeiter. wenn ich nun also in einer anderen kombobox die Abteilung auswähle, solls mir in einer anderen alle dazugehörigen stichworte anzeigen.

Das riecht mir schon stark nach VBA, oder? Bei Änderung Code einfügen etc. Kann jemand helfen?

thx

schau mal im Thread etwas tiefer:Felder ausgeben

da wird sowas ähnliches schon gemacht must nur das Füllen der Kombobox immer wieder neu machen je nachdem welche Abteilung gewählt wird.

danke für den Tipp, aber ich werde aus dem thread nicht schlau.

Kann man das eigentlich nicht gleich in die Datensatzherkunftzeile der Kombobox schreiben? Die sieht jetzt so bei mir aus:

SELECT [text_tabelle].[stichwort], [benutzer].[Abteilung] FROM benutzer INNER JOIN text_tabelle ON [benutzer].[ben_nr]=[text_tabelle].[ben_nr] WHERE ((([benutzer].[Abteilung])='Form_Aufgaben-Bereich.Bereich_Feld'));

Leider wird in der Box noch nichts angezeigt. Was mache ich falsch? Wenns geht bitte idiotensicher erklären, kenne mich mit sowas noch nicht so aus.

thx4urhlp

Moin !

du kannst das direkt in die Datensatzherkunftszeile schreiben, müsste dann in etwa so aussehen:

SELECT text_tabelle.stichwort FROM benutzer INNER JOIN text_tabelle ON benutzer.ben_nr = text_tabelle.ben_nr Where benutzer.Abteilung =Bereich_Feld.value;

Er schaut dann in der Combobox "Bereich_Feld" nach der Abteilung und gibt dann die Stichworte aus. Problem ist nur das er diesen Select nur einmal beim öffnen ausführt. Daher müsstest Du in der Combobox "Bereich_Feld" in den Eigenschaften unter Ereignis -> Nach Aktualisierung -> Ereignisprozedur den Vba-Befehl [Name deines Stichwort Feldes].Requery ausführen. Damit fragt er den Select nach einer Änderung der Abteilung wieder neu ab.

Hoffe das hilft Dir !

Gruß

Christian

------------------------------------------------------------

"All power corrupts. Absolute Power is kinda neat though..."

"50.000 gold a year in child care and they call it a CULT ?!?"

- Kel'Thuzad, Archlich

Leider geht imma noch nix. Der schreibt einfach nüscht in das Feld rein... Grübel... das muss doch irgendwie gehen, *verzweifel*

edit: der bringtmir jetzt ne parameterbox wo ich Bereich_feld.Wert eingeben soll. Wenn ich dort die Abteilungsnamen selber eingebe, so funtioniert das. wenn alerdings was oben in dem feld drinsteht, dann erkennt er das irgendwie nicht und die stichwortbox bleibt leer.

:confused:

Und dasmit dem requery klappt auch net so ganz. der bringt irgendnen dummem OLE Fehler, wenn das VBA-Zeux da drin steht.

Die Parameter-Box kommt, weil er das Feld nicht findet. Du mußt "Bereich_Feld" mit dem Namen den Du der Abteilung-ComboBox gegeben hast ersetzen (Du musst auch unbedingt auf Groß/Kleinschreibung achten).

hmm hast Du den .Requery Befehl direkt im Eigenschaftsfenster eingetragen ? Wenn ja musst Du dort auf [Ereignisprozedur] umstellen und den .Requery Befehl in Vba schreiben.

Gruß

Christian

------------------------------------------------------------

"All power corrupts. Absolute Power is kinda neat though..."

"50.000 gold a year in child care and they call it a CULT ?!?"

- Kel'Thuzad, Archlich

erläuter mal demn Vorgang den Du erreichen möchtest oder sag mir ob ich das so richtig verstehe.

Du möchtest in einer Kombobox eine Abteilung auswählen, dann soll eine andere Kombobox mit Daten gefüllt werden die von der vorher ausgewählten Abteilung gültig/erstellt sind??

guido

abhängig sind ist wohl der bessere ausdruck. genau.

Ich will aus der tabelle text die stichwörter in die zweite kombobox schreiben, aber nur die darin erscheinen lassen, die verschiedene personen aus EINER ABTEILUNG, die ich in der ersten Box ausgewählt habe, dort hineingeschrieben haben.

Klar? *lol*

thx4hlp

1. Box : Abteilung: Küche

2. Box : Stichwörter: Frühstück, Mittag, Abend

z.B.

Moin !

hmm hab das jetzt mal bei mir ausprobiert und da funzt es.. hier ist was ich eingetragen habe:

Kombinationsfeld1:

Name: "bereich_feld"

Datensatzherkunft: "SELECT DISTINCT [benutzer].[Abteilung] FROM [benutzer];"

Ereignis->Nach Aktualisierung: "Ereignisprozedur"

Dann im VBA-Code:

Private Sub bereich_feld_AfterUpdate()

stichwort_feld.Requery

End Sub

Kombinationsfeld2:

Name: "stichwort_feld"

Datensatzherkunft: "SELECT text_tabelle.stichwort FROM benutzer INNER JOIN text_tabelle ON benutzer.ben_nr = text_tabelle.ben_nr Where benutzer.Abteilung =bereich_feld.value;"

Die beiden wichtigen Sachen sind halt der Select im "stichwort_feld", der abhängig vom Inhalt des "bereich_feld" die Texte ausgibt, und der kurze VBA-Code zum "bereich_feld", der den Inhalt des "stichwort_feld" nach Änderung aktualisiert.

Hoffe das hilft Dir weiter !

Gruß

Christian

------------------------------------------------------------

"All power corrupts. Absolute Power is kinda neat though..."

"50.000 gold a year in child care and they call it a CULT ?!?"

- Kel'Thuzad, Archlich

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.