Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Kombifeld soll nur bestimmte Daten anzeigen
zurück: Datensatz filtern funktioniert nicht weiter: Dyn. ändern von Feldwerten in Word aus Access 2007 per VBA Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
gisiangel
Excel+VBA Access-Fortgeschrittener Anfänger


Verfasst am:
17. Apr 2009, 08:32
Rufname: Gisi
Wohnort: Duisburg

Kombifeld soll nur bestimmte Daten anzeigen - Kombifeld soll nur bestimmte Daten anzeigen

Nach oben
       Version: Office 2003

Guten Morgen,

leider komme ich irgendwie nicht weiter und hoffe, jemand kann mir sagen wie ich meinen Select-Befehl ändern muss, um das zu sehen, was ich sehen möchte.
Ich habe ein HF mit einem Register, das ein UFO hat. Im UFO möchte ich Daten in einem Kombinationsfeld anzeigen, die abhängig vom Wert eines Kombinationsfeldes im HF Daten anzeigen sollen.
Im HF hat das Kombifeld folgenden Code:
Code:
SELECT [TÄT_ID], [TÄT_Bezeichnung]
FROM   T005_Tätikeitsbereiche;
Das Kombifeld auf dem UFO des REgisterblattes hat den Code:
Code:
SELECT A.[Art_Bezeichnung], A.[Art_ID]
FROM   T010_Artikel AS A
       INNER JOIN (T005_Tätikeitsbereiche AS T
                   RIGHT JOIN T011_Dienstgegenstände AS D
                   ON T.[TÄT_ID]=D.[Geg_TätID])
       ON A.[Art_ID]=D.[Geg_Nr]
WHERE  T.[TÄT_ID]=1;
Mit WHERE T.[TÄT_ID]=1 werden mir ja nur die Daten angezeigt, die für [TÄT_ID])=1 eingetragen sind.

Wie muss ich den Code ändern, dass er mir die Daten abhängig vom Kombifeld im HF zeigt. Also wenn dort der Wert 6 drin steht auch nur die Daten dazu.
Ich habe es schon, wie hier im Forum vorgeschlagen, versucht mit Me!ControlName oder Me!UFO1.Form!ControlName, was mich leider nicht weiterbringt. Wenn ich die Tabelle To11_Dienstgegenstände direkt anspreche, was ja das Einfachste wäre, bekomme ich ja nur die Zahlen aus der Tabelle, nicht die Bezeichnungen aus der Tabelle T010_Artikel.
Ich denke, dass ist mal wieder ne ganz einfach zu beantwortende Frage, ich komme aber leider nicht drauf.

Gruß
Gisi
lleopard
IT Datenbankentwickler


Verfasst am:
17. Apr 2009, 09:55
Rufname: leo


AW: Kombifeld soll nur bestimmte Daten anzeigen - AW: Kombifeld soll nur bestimmte Daten anzeigen

Nach oben
       Version: Office 2003

moin moin,

also da die ID als erstes gezogen wird, erhälst du aus
Code:
    Dim ID As Long
   
    ID = Me!Kombinationsfeld.Column(0)
den Wert, den du an dein UFo übergeben willst.
Du übergibst dann
Code:
   strSQL = "SELECT A.[Art_Bezeichnung], A.[Art_ID] " & _
                "FROM T010_Artikel AS A " & _
                     "INNER JOIN (T005_Tätikeitsbereiche AS T " & _
                                 "RIGHT JOIN T011_Dienstgegenstände AS D " & _
                                 "ON T.[TÄT_ID]=D.[Geg_TätID]) " & _
                     "ON A.[Art_ID]=D.[Geg_Nr] " & _
               "WHERE T.[TÄT_ID]=" & ID
an dein Kombifeld im UFo.
war es das was dir fehlte???

Gruß Leo

_________________
Gruß Leo

Honnit soit qui mal y pense!
gisiangel
Excel+VBA Access-Fortgeschrittener Anfänger


Verfasst am:
27. Apr 2009, 09:52
Rufname: Gisi
Wohnort: Duisburg

AW: Kombifeld soll nur bestimmte Daten anzeigen - AW: Kombifeld soll nur bestimmte Daten anzeigen

Nach oben
       Version: Office 2003

Hallo und Danke für die Erklärung.
Leider konnte ich erst heute prüfen, ob die Abfrage so geht. Nachdem ich nun als Textausgabe den String erhalte, der in der Abfrage stehen sollte und auch beim Ausführen der Abfrage keine Fehlermeldung mehr kommt hinsichtlich der richtigen Erstellung des Strings, bekomme ich aber die Meldung:
Zitat:
Laufzeitfehler 3065
Eine Auswahlabfrage kann nicht ausgeführt werden.
War also entweder nicht der richtige Weg oder ich habe ansonsten was falsch gemacht.
Der Code sieht nun aus wie folgt:
Code:
    TätID = Me.Parent!Tätigkeit.Column(0)
    strSQL = "SELECT T.TÄT_ID, T.TÄT_Bezeichnung, A.Art_Bezeichnung, " & _
                    "A.Art_ID " & _
               "FROM T010_Artikel AS A " & _
                    "INNER JOIN (T005_Tätikeitsbereiche AS T " & _
                                "RIGHT JOIN T011_Dienstgegenstände AS D " & _
                                "ON T.TÄT_ID = D.Geg_TätID) " & _
                    "ON A.Art_ID = D.Geg_Nr " & _
              "WHERE T.TÄT_ID= " & TätID & ";"
    MsgBox "Text ist: " & strSQL, vbInformation, "Ausgabe"
    CurrentDb.Execute strSQL
und wird ausgeführt, wenn ich auf den Auswahlpfeil des ungebundenen Kombifeldes klicke.
Was mache ich verkehrt? In meiner Abfage steht exakt der gleiche Text, einziger Unterschied ist statt " & TätID & " steht in meiner fertigen Abfrage eben der Wert.

Gruß Gisi
Willi Wipp
Moderator


Verfasst am:
27. Apr 2009, 11:44
Rufname:
Wohnort: Raum Wiesbaden

Re: Kombifeld soll nur bestimmte Daten anzeigen - Re: Kombifeld soll nur bestimmte Daten anzeigen

Nach oben
       Version: Office 2003

Hi gisiangel,

wie die Fehlermeldung ganz richtig anmerkt: eine Auswahl-Anfrage kann nicht ausgefuehrt werden!
Das geht nun mal nur mit Aktions-Abfragen!
Die Auswahl-Abfrage kannst Du z.B. als Datenherkunft (RowSource) fuer ein Kombinationsfeld bzw. Listenfeld
oder als Datenherkunft (RecordSource) fuer ein Formular verwenden!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
gisiangel
Excel+VBA Access-Fortgeschrittener Anfänger


Verfasst am:
27. Apr 2009, 12:26
Rufname: Gisi
Wohnort: Duisburg


AW: Kombifeld soll nur bestimmte Daten anzeigen - AW: Kombifeld soll nur bestimmte Daten anzeigen

Nach oben
       Version: Office 2003

Hallo Willi,

die Daten sind ja auch ursprünglich aus der Datensatzherkunft meines Kombinationsfeldes. Durch den Vorschlage von Ileopard habe ich erst den untenstehenden Code entwickelt.
Ich habe inzwischen aber einen anderen Weg gefunden. Ich ändere die Abfrage entsprechnd ab und speichere sie neu. Das klappt ganz gut.
Ich habe aber mehrere Kombinationsmöglichkeiten. Aber um nach dem 2. Wechsel des Tätigkeitsbereiches wird zwar alles gespeichert, aber ohne Neustart des Formulars werden die neuen Daten nicht angeziegt.
Kannst du mir sagen, welchen Befehl ich hierzu eingeben muss?

Der Code lautet jetzt
Code:
Private db As DAO.Database
Private qd As DAO.QueryDef
Private strSQL As String, strSQLneu As String

Private Sub Aus_Datum_GotFocus()
    Dim Abfragetext
    Dim TätID
   
    TätID = Me.Parent!Tätigkeit.Column(0)
    Set db = DBEngine.Workspaces(0).Databases(0)
    Set qd = db.QueryDefs("A051_AusgegebenDienstkleidungNeuAuswahl")
    Abfragetext = qd.SQL
    ' Wird die Abfrage geändert,
    ' muss auch die Anzahl der Zeichen neu berechnet werden
    strSQL = Left(Abfragetext, 375)
    strSQLneu = strSQL & TätID & "));"
    qd.SQL = strSQLneu
End Sub
Denn nach dem Aufrufen des Formulars klappt alles.

Gruß Gisi
Nachtrag: gisiangel am 27. Apr 2009 um 12:30 hat folgendes geschrieben:
Habs selber schon rausgefunden!
Mit Me.Refresh klappt es nun auch hiermit!

Danke für eure Hilfe
Gruß Gisi
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit sum, max Wert und verhätnis summe/max anzeigen? 1 IV 2531 04. Nov 2004, 18:14
Skogafoss Abfrage mit sum, max Wert und verhätnis summe/max anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl der Datensätze anzeigen? 3 MichaelB 1122 19. Okt 2004, 12:45
lothi Anzahl der Datensätze anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: Komment. u Daten in zelle schreiben, Zellenausrichtung festl 2 k@lle 816 06. Okt 2004, 11:49
k@lle Komment. u Daten in zelle schreiben, Zellenausrichtung festl
Keine neuen Beiträge Access Tabellen & Abfragen: variable Spalte in Abfrage anzeigen -abhängig vom Tagesdatum 1 Lars 1193 10. Sep 2004, 13:54
Lars variable Spalte in Abfrage anzeigen -abhängig vom Tagesdatum
Keine neuen Beiträge Access Tabellen & Abfragen: bestimmte(n) Datensatz in abfrage ausschließen 2 Lene 3641 02. Sep 2004, 15:39
borstel bestimmte(n) Datensatz in abfrage ausschließen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten Trennen 4 Oliver.Giertz 1194 02. Sep 2004, 13:05
Oliver.Giertz Daten Trennen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten suchen in ACCESS. Daten aus Tabellen suchen! 7 Gast 2093 26. Aug 2004, 13:55
Gast Daten suchen in ACCESS. Daten aus Tabellen suchen!
Keine neuen Beiträge Access Tabellen & Abfragen: Parameterabfrage - wenn Parameter leer, alle anzeigen 3 Norman 2935 16. Aug 2004, 22:15
Tweety Parameterabfrage - wenn Parameter leer, alle anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: logische Zuordnung der Daten / Beziehung 0 DEAthWiNg 991 14. Jul 2004, 22:07
DEAthWiNg logische Zuordnung der Daten / Beziehung
Keine neuen Beiträge Access Tabellen & Abfragen: 2 tabellen verknüpfen und daten übergeben 5 mihca 2004 05. Jun 2004, 13:22
mihca 2 tabellen verknüpfen und daten übergeben
Keine neuen Beiträge Access Tabellen & Abfragen: Änderungen an abgefragten Daten vornehmen 1 mimey 1139 28. Mai 2004, 22:06
lothi Änderungen an abgefragten Daten vornehmen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten der Abfrage ausgeben 3 Papa Schlumpf 1007 24. Mai 2004, 17:34
Willi Wipp Daten der Abfrage ausgeben
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web Forum