Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Abfrage mit Mehrfachauswahl im Listenfeld
Gehe zu Seite 1, 2, 3, 4  Weiter
zurück: Tabellen-Beziehungen mit variablen & fixen Preisen weiter: Memofeld auf eintrag prüfen 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
Ipekak_
Gast


Verfasst am:
29. Mai 2008, 12:52
Rufname:

Abfrage mit Mehrfachauswahl im Listenfeld - Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Ipekak am 28. Mai 2008 um 21:35 hat folgendes geschrieben:
Hallo zusammen ich hoffe mir kann jemand helfen in Bezug auf meine Abfrage mit einem Listenfeld. Ich bin nämlich blutiger Anfänger.

Also ich habe diverse Optionen in einem Formular die man vor der Abfrage angeben kann, wie Monat von ... bis, Jahr von ... bis und zusätzlich suche ich noch aus einem Listenfeld die Filiale/n aus. Der gibt mir aber bei der Abfrage immer eine leere Tabelle aus. Kann mir jemand weiterhelfen.
Hier ist mein SQL-Ausschnitt
Code:
SELECT F.FILNR, F.FILBEZ, P.PRODGRNR, V.MONAT, V.JAHR
FROM   Produktgruppen AS P
       INNER JOIN (Filialstruktur AS F
                   INNER JOIN Verkauf AS V
                   ON F.FILNR = V.FILNR)
       ON P.PRODGRNR = V.PRODGRNR
WHERE  F.FILNR=IIf([Forms]![F10]![Lis_F10_Filiale]="",
                   "select all",[Forms]![F10]![Lis_F10_Filiale])
AND    P.PRODGRNR=[Forms]![F10]![Lis_F10_Produkt]
AND    V.MONAT>=[Forms]![F10]![Komb_F10_Monat_von]
AND    V.MONAT<=[Forms]![F10]![Komb_F10_Monat_bis]
AND    V.JAHR>=[Forms]![F10]![Komb_F10_Jahr_von]
AND    V.JAHR<=[Forms]![F10]![Komb_F10_Jahr_bis]
AND    V.FILNR=[F].[Filnr]
AND    V.PRODGRNR=[P].[prodgrnr];

Ich glaub ich kann nicht editieren, weil ich noch Gast gewesen bin.

Also noch mal als kleine Info > Der Code stammt noch von zwei Kombi-feldern. Von daher weiß ich gerade noch nicht einmal ob die IF-Formel richtig ist.

LG
Phil
JörgG
Access-Team


Verfasst am:
29. Mai 2008, 13:45
Rufname:
Wohnort: b. Dresden


AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Hallo,

wo willst Du das ausführen/anzeigen - im selben Formular? Wie ist der Monat bei Dir formatiert, als Zahl? Wozu dient die Abfrage? Hast Du die Abfrage ohne die Liste getestet, läuft sie korrekt?

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Gast



Verfasst am:
29. Mai 2008, 13:54
Rufname:

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Hallo Jörg,

(kann man sich das im selben Formular anzeigen lassen?)

Also ich möchte das als Tabelle haben. Ja und der Monat und das Jahr sind jeweils als Zahl formatiert, aufgrund dessen das ich halt den Monat und das Jahr separat auswählen möchte. Die Abfrage dient so wie sie steht momentan noch zu nichts, um das so blöd zu sagen. Da fehlt dann noch ein Kriterium wie UmsatzIst, aber das ist ja dann eigentlich nur noch ein hinzufügen im select-Bereich, da der Umsatz mit in einer der verknüpften Tabellen ist.

Blöd ist aber dann, fällt mir gerade noch auf, dass bei mehreren Umsätzen im Monat was ja normal ist, diese nicht zusammengezählt werden. sondern einzelnd aufgelistet werden.
JörgG
Access-Team


Verfasst am:
29. Mai 2008, 14:06
Rufname:
Wohnort: b. Dresden

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Hallo,

Läuft die Abfrage ohne das Listenfeldkriterium? FilialNr ist eine Zahl?

Idea Du bist Dir im Klaren, dass diese gejointe Abfrage nur zur Anzeige dient (zB für einen Bericht), die Felder können nicht editiert werden!

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Ipekak
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Mai 2008, 14:31
Rufname:


AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Wenn ich das als Kombifeld hinterlege funktioniert es.
Ja Filialnr ist eine Zahl und ja ich will danach nicht editieren. In dieser Datenbank möchte ich mit jeder Abrage die ich noch erstellen werde nur anzeigen lassen.
JörgG
Access-Team


Verfasst am:
29. Mai 2008, 14:45
Rufname:
Wohnort: b. Dresden

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Hallo,

erstelle von der Abfrage eine Kopie. Im Formular fügst Du noch einen Button ein mit diesem Code:
Code:
Private Sub Button_Click()
    Dim varItem As Variant, strSQL As String, strFilter As String
   
    If Not IsNull(Me!Lis_F10_Produkt) _
            And Not IsNull(Me!Komb_F10_Monat_von) _
            And Not IsNull(Me!Komb_F10_Monat_bis) _
            And Not IsNull(Me!Komb_F10_Jahr_von) _
            And Not IsNull(Me!Komb_F10_Jahr_bis) Then
        For Each varItem In Me!Lis_F10_Filiale.ItemsSelected
            strFilter = strFilter & " OR F.FILNR = " & _
                                Me!Lis_F10_Filiale.Column(0, varItem)
        Next varItem
        If Len(strFilter) > 4 Then
            strFilter = "(" & Mid(strFilter, 5) & ") AND "
          Else
            strFilter = ""
        End If
        strSQL = "SELECT F.FILNR, F.FILBEZ, P.PRODGRNR, V.MONAT, V.JAHR " & _
                   "FROM Produktgruppen AS P " & _
                        "INNER JOIN (Filialstruktur AS F " & _
                                    "INNER JOIN Verkauf AS V " & _
                                    "ON F.FILNR = V.FILNR) " & _
                        "ON P.PRODGRNR = V.PRODGRNR " & _
                  "WHERE " & strFilter & _
                        "P.PRODGRNR = " & Me!Lis_F10_Produkt & " " & _
                    "AND V.MONAT >= " & Me!Komb_F10_Monat_von & " " & _
                    "AND V.MONAT <= " & Me!Komb_F10_Monat_bis & " " & _
                    "AND V.JAHR >= " & Me!Komb_F10_Jahr_von & " " & _
                    "AND V.JAHR <= " & Me!Komb_F10_Jahr_bis & " " & _
                    "AND V.FILNR = [F].[Filnr] " & _
                    "AND V.PRODGRNR=[P].[prodgrnr];"
       'Debug.Print strSQL
       'Me.RecordSource = strSQL 'zB als Datenherkunft für das Formular
       'nur zum Test, Abfrage manipulieren
        CurrentDb.QueryDefs("NamederAbfrage").SQL = strSQL
        DoCmd.OpenQuery "NamederAbfrage", , acReadOnly
      Else
        MsgBox "Erst alle Auswahlfelder ausfüllen!", , ""
    End If
End Sub

Idea NamederAbfrage, nimm den Namen der Kopie dafür)

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Ipekak
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Mai 2008, 15:23
Rufname:

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Hallo,

meine Fresse bist du schnell.

So jetzt gibt der mir die Fehlermeldung
Zitat:
Fehler beim Kompilieren: Projekt oder Bibliothek nicht gefunden
und hat dann das Mid farblich hinterlegt
Code:
        strFilter = "(" & Mid(strFilter, 5) & ") AND "
JörgG
Access-Team


Verfasst am:
29. Mai 2008, 15:30
Rufname:
Wohnort: b. Dresden

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Hallo,

kann ich mir jetzt nicht erklären, was steht denn drin in strFilter, ergänze und teste mal mit:
Code:
Debug.Print strFilter  'Direktfenster einschalten mit <Strg+G>
Stop                   'weiter mit [F8]
Debug.Print Mid(strFilter, 5)
        If Len(strFilter) > 4 Then
            strFilter = "(" & Mid(strFilter, 5) & ") AND "
          Else
            strFilter = ""
        End If
Die FilialNr steht in Spalte1 der Liste?
_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Ipekak
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Mai 2008, 15:35
Rufname:

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Wo vor oder hinter soll ich das denn einfügen?

Ich kann das da einfügen wo ich will der meckert immer über das Mid
???

Im Direktbereich schreibt der gar nichts hin.
Ups...ja FilNr steht in Spalte 1
JörgG
Access-Team


Verfasst am:
29. Mai 2008, 15:52
Rufname:
Wohnort: b. Dresden

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Hallo,

hast Du die DB mal geschlossen (komprimiert/repariert)?

Sonst ersetze mal diesen Teil:
Code:
Private Sub Button_Click()
    Dim varItem As Variant, strSQL As String, strFilter As String
   
    If Not IsNull(Me!Lis_F10_Produkt) _
            And Not IsNull(Me!Komb_F10_Monat_von) _
            And Not IsNull(Me!Komb_F10_Monat_bis) _
            And Not IsNull(Me!Komb_F10_Jahr_von) _
            And Not IsNull(Me!Komb_F10_Jahr_bis) Then
        For Each varItem In Me!Lis_F10_Filiale.ItemsSelected
            strFilter = strFilter & " OR F.FILNR = " & _
                                Me!Lis_F10_Filiale.Column(0, varItem)
        Next varItem
        If Len(strFilter) > 4 Then
            strFilter = "(" & Mid(strFilter, 5) & ") AND "
          Else
            strFilter = ""
        End If
durch diesen:
Code:
Private Sub Button_Click()
    Dim varItem As Variant, strSQL As String, strFilter As String
    Dim i As Integer, j As Integer
   
    If Not IsNull(Me!Lis_F10_Produkt) _
            And Not IsNull(Me!Komb_F10_Monat_von) _
            And Not IsNull(Me!Komb_F10_Monat_bis) _
            And Not IsNull(Me!Komb_F10_Jahr_von) _
            And Not IsNull(Me!Komb_F10_Jahr_bis) Then
        j = Me!Lis_F10_Filiale.ListCount
        For Each varItem In Me!Lis_F10_Filiale.ItemsSelected
            i = i + 1
            If i < j Then
                strFilter = strFilter & "F.FILNR = " & _
                                Me!Lis_F10_Filiale.Column(0, varItem) & " OR "
              ElseIf i = j Then
                strFilter = strFilter & "F.FILNR = " & _
                                Me!Lis_F10_Filiale.Column(0, varItem)
            End If
        Next varItem
Debug.Print strFilter  'Direktfenster einschalten mit <Strg+G>
Stop                   'weiter mit [F8]
Debug.Print Mid(strFilter, 5)
        If strFilter <> "" Then
            strFilter = "(" & strFilter & ") AND "
          Else
            strFilter = ""
        End If
'        For Each varItem In Me!Lis_F10_Filiale.ItemsSelected
'            strFilter = strFilter & " OR F.FILNR = " & _
'                                Me!Lis_F10_Filiale.Column(0, varItem)
'        Next varItem
'        If Len(strFilter) > 4 Then
'            strFilter = "(" & Mid(strFilter, 5) & ") AND "
'          Else
'            strFilter = ""
'        End If

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Ipekak
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Mai 2008, 16:11
Rufname:

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Tjoa neu gestartet hab ich die jetzt mal. Und Komprimiert und repariert jetzt auch, aber der bleibt beim Mid hängen.

Debug.Print Mid(strFilter, 5)

(Nur nebenbei:
Das kann aber nicht mit Anfüge- und Lösch-Abfragen zusammenhängen oder?
Denn die Filialstruktur und der Verkauf werden neu gestaltet in Bezug auf das Datum.)

Ach und auch noch nebenbei: Ich arbeite zwar mit Office2003 aber habe gerade gesehen das mir die Datei in Access2000-Format gegeben wurde. Also ich habe nämlich eine Datei bekommen und muss dafür Abfragen basteln. tatätatä
Aber ob 2000 oder 2003 macht glaub ich nicht soviel aus oder? Naja ich sach lieber nichts. *keine ahnung hab*

Man bin ich durchn Wind. Der hat beim Vorpost immer gesagt ich bearbeite den Käse hier noch. Also sorry für den Doppelpost. Weiß nicht was ich da gemacht hatte.
JörgG
Access-Team


Verfasst am:
29. Mai 2008, 16:15
Rufname:
Wohnort: b. Dresden

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Hallo,

schmeiss die Zeile mit Mid() mal raus. Lösch-/Anfügeabfragen haben mit dem Teil nichts zu tun.

Hier könntest Du die DB-Version umschalten:
    Datenbankfenster - Menüleiste - Extras - Optionen - Weitere - Standarddateiformat: XXX

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Ipekak
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Mai 2008, 16:21
Rufname:

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Wir kommen weiter, toll. Aber jetzt sagt der mir:

Erst alle Auswahlfelder ausfüllen.

Hab schon gedacht das hätte mit den ersten beiden Datumsfeldern (ich weiß Daten) zu tun, weil die schon eine automatische Hinterlegung haben. Hab die aber auch noch mal angeklickt und er bringt mir trotzdem die Meldung.


Wenn ich mal so blöd fragen darf, wofür is denn Mid, oder allgemein die Zeile?
JörgG
Access-Team


Verfasst am:
29. Mai 2008, 16:31
Rufname:
Wohnort: b. Dresden

AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Hallo,

hier erfolgt die Prüfung:
Code:
    If Not IsNull(Me!Lis_F10_Produkt) _
            And Not IsNull(Me!Komb_F10_Monat_von) _
            And Not IsNull(Me!Komb_F10_Monat_bis) _
            And Not IsNull(Me!Komb_F10_Jahr_von) _
            And Not IsNull(Me!Komb_F10_Jahr_bis) Then

also kontrolliere vorher ob alle 5 Feldnamen korrekt sind und einen gültigen Inhalt haben, zB:
Code:
Debug.Print Me!Lis_F10_Produkt & ";" & Me!Komb_F10_Monat_von & ";" & ...
bzw:
Code:
Debug.Print IsNull(Me!Lis_F10_Produkt); IsNull(Me!Komb_F10_Monat_von); ...
Mid() schneidet das 1. " OR " weg, das entsteht beim Auffädeln des Listenfeldkriteriums in der For-Schleife.
_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Ipekak
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Mai 2008, 16:48
Rufname:


AW: Abfrage mit Mehrfachauswahl im Listenfeld - AW: Abfrage mit Mehrfachauswahl im Listenfeld

Nach oben
       Version: Office 2003

Komm ich mir gerade blöd vor.

Wie kann ich den "Private Sub" in Visual Basic testen? Ich hab ja keine Fehlermeldung, weil da konnte ich noch mit rechter Maustaste ausführen.

Und oben über Ausführen > Sub... macht der mir ein Fenster auf von wegen Makros

Äääähm, wenn ich in den Monats/Jahres-Kombi-Feldern selber ne Zahl eingebe sagt der mir
Zitat:
Der von ihnen eingegebene Text ist kein Element aus der Liste.
obwohl da eindeutig Zahlen drin stehen (1-12) oder (2005-2009)

Wie versteh ich das denn?
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2, 3, 4  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 4
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: Access Abfrage Uhrzeit (von bis) 1 new 2078 02. März 2004, 11:12
new Access Abfrage Uhrzeit (von bis)
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Parameter Abfrage 3 shorty 2270 29. Feb 2004, 15:07
Willi Wipp Parameter Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage nach Berufssparten 3 Fabian_bkk 1537 20. Feb 2004, 10:25
Willi Wipp Abfrage nach Berufssparten
Keine neuen Beiträge Access Tabellen & Abfragen: Problem im Abfrage Generator mit Wenn() und Zwischen() 1 snowman 4094 13. Feb 2004, 10:42
Willi Wipp Problem im Abfrage Generator mit Wenn() und Zwischen()
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich mehr als 255Felder in eine Abfrage legen? 1 D.R. 2235 12. Feb 2004, 09:05
faßnacht(IT); Wie kann ich mehr als 255Felder in eine Abfrage legen?
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Diese Abfrage geht nicht. Kann ir jemand helfen 4 Oliver 1438 02. Feb 2004, 13:21
Willi Wipp Diese Abfrage geht nicht. Kann  ir jemand helfen
Keine neuen Beiträge Access Tabellen & Abfragen: In Abfrage nach Monat sortiert ausgeben 3 Torsten 2150 29. Jan 2004, 19:52
Torsten In Abfrage nach Monat sortiert ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: Unterscheid zwischen 2 Daten berechnen in Abfrage 2 itarus 1441 26. Jan 2004, 17:01
i_tarus Unterscheid zwischen 2 Daten berechnen in Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Verschachtelte Abfrage? 3 Fragesteller 2581 22. Jan 2004, 08:46
ffdabei Verschachtelte Abfrage?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage in Kombifeld 3 Gast 1255 06. Jan 2004, 19:21
Krokette Abfrage in Kombifeld
Keine neuen Beiträge Access Tabellen & Abfragen: kommentare im sql code einer abfrage? 1 Caladan 1744 22. Dez 2003, 20:15
Ludger kommentare im sql code einer abfrage?
 

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