Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Kombifeld und Abfrage

Begonnen von btfocus998, Februar 27, 2012, 12:34:01

⏪ vorheriges - nächstes ⏩

btfocus998

Hallo,

schon jetzt sorry für die Frage, aber ich würde sie nicht stellen, hätt ich nicht schon alles probiert. Bin "Neuling"  ;D und hab folgendes Problem:

Also, ich habe ein Formular mit Kombifeld und möchte, das bei einer Abfrage es möglich ist aus diesem Kombifeld zu wählen. Nun habe ich viel gelesen und immer wieder kommt folgende Lösung: In den Kriterien der Abfrage: Formulare!FrmName!KombiName eingeben.

Ich habe mal schnell eine mini-Datenbank gebastelt und angehängt und das so gemacht, aber auch da klappt es nicht.

Vielleicht kann mir mal jemand auf die Sprünge helfen?

1000 Dank!

[Anhang gelöscht durch Administrator]

MzKlMu

Hallo,
konvertiere in eine kleiner Access Version (2003) Access2007/2010 haben noch nicht so viele. Ich auch nicht.
Gruß Klaus

btfocus998

Hallo,
danke für den Hinweis, hier die 2003er Version. Dabei handelt es sich wie gesagt nur um ein schnell entworfenes Beispiel, damit ich verstehe und auf andere Datenbanken anwenden kann.

Gruß

[Anhang gelöscht durch Administrator]

MzKlMu

Hallo,
es funktioniert doch alles.
Das Formular funktioniert und die Abfrage. Macht zwar so keinen Sinn, aber funktionieren tut es.

Beschreibe mal etwas genauer was Du machen willst und was Deiner Meinung nach nicht funktioniert.
Gruß Klaus

oma

Hallo,

wenn Du mit einem Kombifeld Datensätze suchen willst, muss dieses Feld als ungebundenes Feld im Formularkopf und die Abfrage, die auf dieses Feld Bezug nimmt, muss auch als Datenherkunft des Formulars dienen.
Es gibt aber bessere Lösungen als mit einem Formularbezug zu arbeiten.

Gruß Oma
nichts ist fertig!

btfocus998

Hallo,
hmm ich glaube ich habe mich wirklich nicht gut ausgedrückt.
Also ich hab ein Formular mit Kombifeld. Nun möchte ich eine Abfrage machen. Besser gesagt eine Parameterabfrage. Damit der Anwender nicht die Begriffe immer genau eintippen und kennen müssen möchte ich, dass die Parameterabfrage auf das Kombifeld zugreift.

Das ist irgendwie möglich mit [Formulare].[FrmName].[Kombifeldname] wie ich in vielen Formularen gelesen habe.

Aber bei mir funktioniert es einfach nicht. Egal wie ich die Datenbanken aufbaue etc. Vielleicht bekommt das ja jmd an meiner (wenn auch etwas unsinnigen) Beispiel Datenbank hin und kann mir sagen wo mein Fehler liegt. ???

Schönen Abend euch!


MzKlMu

Hallo,
ich habe immer noch nicht begriffen, was Du willst.
Die Beispieldb hilft auch nicht, denn da ist kein Fehler drin.
Dass die Abfrage auf das Kombi zugreift nutzt ja erst mal nichts.
Was willst Du dann mit der Abfrage?

Willst Du mit dem Kombifeld einen Datensatz suchen, oder nur filtern, also z.B. alle Datensätze mit Gebäude=Haus ?
Gruß Klaus

oma

Hallo,

nochmal, Parameterabfragen mit Formularverweise sind nicht so das beste, aber möglich.
Im Beispiel ist eine solche  aber auch 2 andere Möglichkeiten enthalten.

Gruß Oma

[Anhang gelöscht durch Administrator]
nichts ist fertig!

btfocus998

Moin Moin,

@Oma: super, die Möglichkeit mit dem Kombi im Formularkopf hab ich jetzt hinbekommen.  Vielen Vielen Dank dafür, kannst du mir vielleicht nochmal die anderen beiden "besseren" Möglichkeiten erklären? Die verstehe ich anhand der Datenbank leider nicht.

@MzKlMu: ich kann es leider nicht besser erklären, aber Oma hat schon sehr geholfen. Dir auch Danke für deine Bemühungen!

Viele Grüße

oma

Hallo,

in den Beispiel sind  3 Möglichkeiten, die Sache ist nicht kompliziert:

1.   Formular Tabelle2
- Das Formular hat als Datenherkunft : tabellle1_Abfrage2; hier sind alle Felder der Tabelle1 ohne Bedingungen enthalten
- Das Formular hat im Formularkopf ein ungebundenes Suchfeld, Beim Ereignis "Nach Aktualisierung" wird die Datenherkunft auf die Abfrage: tabelle1_Abfrage1 gesetzt; in dieser Abfrage ist eine Bedingung mit  [Formulare]![tabelle2]![Suchen] enthalten, d.h es wird als Bedingung das Feld Suchen im Formular 2 gesetzt

Private Sub Suchen_AfterUpdate()
    Me.RecordSource = "tabelle1 _Abfrage1"
End Sub


2. Formular Tabelle1
- Das Formular hat als Datenherkunft die Tabelle 1 (oder eine Abfrage ohne Bedingungen)
- Nach Aktualisierung des Suchfeldes wird per Code ein Filter gesetzt

Private Sub Suchen_AfterUpdate()
    Me.Filter = "GebäudeID=" & Me!Suchen
    Me.FilterOn = True
End Sub


d.h. es braucht überhaupt keine Abfrage mit einen Formularbezug erstellt und benutzt werden!

3. Formular Tabelle3

- Das Formular hat als Datenherkunft die Tabelle 1 (oder eine Abfrage ohne Bedingungen)
- Nach Aktualisierung des Suchfeldes wird per Code eine neue Datenherkunft gesetzt:

Private Sub Suchen_AfterUpdate()
    Me.RecordSource = "select * from tabelle1 Where GebäudeID=" & Me!Suchen
End Sub


Letzteres wird öfters benutzt, wenn mehr als ein Suchfeld benutzt werden soll. Mit allen Suchfelderm wird ein dynamischer SQL-String zusammengesetzt.

Gruß Oma
nichts ist fertig!

btfocus998

Tip-Top Oma, bin echt begeistert von der super Hilfe!

Eine kleine Frage hab ich noch :-)

Gibt es bei Alternative 2 und 3 denn auch die Möglichkeit, alle gefundenen Datensätze zusammen anzuzeigen (wie bei Abfragen), oder geht es dort nur mit Formular und Datensatz-klick? ;-)

Viele Grüße

oma

Hallo,

das ist doch nur eine Darstellungsfrage!!!    Benutze z.B. ein Endlosformular

Gruß Oma

[Anhang gelöscht durch Administrator]
nichts ist fertig!

oma

Hallo,

falls du das weiter ausbauen willst mit, z.B. mit  mehreren Suchfeldern - schaue dir mal das kleine Beispiel an.

Gruß Oma

[Anhang gelöscht durch Administrator]
nichts ist fertig!

btfocus998

Alles klar, ich habs!

Danke!