Hallo ,ich komme nicht weiter bei folgendem Code
Ich habe ein Suchformular wo ein Name (Firma) eingetrafügen wird. Der zugehörige Button soll nachfolgendes auslösen
a ) das Hauptformular öffnet sich - darin enthalten das UFO
b) der Suchname wird im UFO gesucht und damit das Hauptformular gefiltert und alle Datensätze wo der Suchname im UFO war werden angezeigt
Leider öffnet sich nur das Formular ohne Filterung
Was ist falsch und fehlt - Danke
UFO und HFO sind über die Projekt_Nr verknüpft
Ojekt_Tabelle ist das HFO
UFO ist UFO_RW
Private Sub Befehl63_Click()
Dim strSQL As String
DoCmd.OpenForm "Objekt_Tabelle", acNormal
strSQL = "SELECT *" _
& " FROM Objekt_Tabelle"
strSQL = strSQL _
& " WHERE Projekt_Nr IN (SELECT Projekt_Nr" _
& " FROM Forms![Objekt_Tabelle]![UFO_RW].Form![Projekt_Nr]" _
& " WHERE Firma = '" _
& Forms![Suchmaske]![sucheFirmaGU] & "')"
Me.RecordSource = strSQL
End Sub
Hallo,
im Prinzip sollte das so lauten:
strSQL = "SELECT *" _
& " FROM Objekt_Tabelle"
strSQL = strSQL & " WHERE Projekt_Nr IN (SELECT Projekt_Nr" _
& " FROM tblProjekt_Untertabelle" _
& " WHERE Firma = '" & Me![sucheFirmaGU] & "')"
Forms![Objekt_Tabelle].RecordSource = strSQL
wobei das Hauptform, das an "Objekt_Tabelle" gebunden ist, besser mit Hilfe des Where-Condition-Parameters geöffnet werden sollte...
Hallo, Danke - habe es angepasst - ohne Erfolg - keine Filterung . Die Suchmaske ist ein externes Formular deshalb nicht Me! In Anwendung, aber auch das hat keinen Effekt wenn Me!
Vielleicht gibts noch eine Idee
Dim strSQL As String
DoCmd.OpenForm "Objekt_Tabelle", acNormal, ""
strSQL = "SELECT *" _
& " FROM Objekt_Tabelle"
strSQL = strSQL _
& " WHERE Projekt_Nr IN (SELECT Projekt_Nr" _
& " FROM UFO_RW" _
& " WHERE Firma = '" _
& Forms![Suchmaske]![sucheFirmaGU] & "')"
Forms![Objekt_Tabelle].RecordSource = strSQL
Hallo,
keine Filterung was heißt das genau? Reagiert das Hauptform "irgendwie" oder tut sich gar nichts? Setz einen Haltepunkt an den Codeanfang und fahre ihn im Einzelschritt durch.
WO (in welchem Formular) läuft der Code ab, d. h. wo befindet sich die Schaltfläche "Befehl63"?
Wie heißt die N-Tabelle (Detailtabelle) zur Tabelle "Objekt_Tabelle" ?
Welchen Datentyp hat das Tabellenfeld "Firma" ?
Zitat& " FROM UFO_RW" _
ist Unsinn, es kann hier nur ein Tabellenname (bzw. Abfragename) stehen und kein Formular-, bzw. Steuerelementname
Keine Filterung: Code läuft ohne Fehler durch es öffnet sich die Haupttabelle mit leerem Datensatz
Befehl63: Ist ausgelöst durch Button in der externen Suchmaske (ein Formular) mit einem ungebundenen Feld für den Firmennamen
UFO_RW ist eine Abfrage die dann das UFO im Hauptformular füllt basierend auf eine Tabelle mit Firmennamen
Das UFO im Hauptformular heißt auch UFO_RW
Projekt_Nr ist Zahl, Firma ist Text
Ob es an der Doppelabfrage liegt?
Firmentabelle-erste Abfrage = UFO_RW
Und dann suche nach Firmennamen über Suchmaske
Danke nochmal für die Mühe
Hallo,
irgendwie musst Du an der Beschreibung und den Benamsungen noch arbeiten...
Zitat"Code läuft ohne Fehler durch es öffnet sich die Haupttabelle mit leerem Datensatz"
Wieso "Tabelle"? Öffnet sich nicht das Formular?
Zitat"UFO_RW ist eine Abfrage die dann das UFO im Hauptformular füllt basierend auf eine Tabelle mit Firmennamen"
Benenne Abfragen mit Prefix "abf" oder "qry" und Formulare mit "frm". Dito für alle anderen Objekte.
Warum wird das UFO (Das Formular, das mit einem UFO-Steuerelement im Haupt-Form angezeigt wird) mit einer Abfrage beschickt? WIE lautet der SQL-String dieser Abfrage?
Wie wird das UFO mit dem HFO verknüpft?
Gibt es überhaupt Datensätze (aus dieser ominösen Abfrage "UFO_RW") , die den eingegebenen Firmennamen (genau!) enthalten?
Zitat"Die Suchmaske ist ein externes Formular deshalb nicht Me! In Anwendung"
In diesem Fall sollte mein Codevorschlag durchaus passen.
Am besten lädst Du die DB mal hier hoch (evtl. datenreduziert, komprimiert/repariert und gezippt) , bevor wir weiter im Nebel herumstochern.
1. Du hast recht- ein Schreibfehler: nicht Haupttabelle sondern Hauptformular
Die Übertragung der Datenbank ist nicht möglich, da im FirmenNetzwerk geblockt
UFO und HFO sind über die Projekt_NR verknüpft
2. SQL der Abfrage qryUFO_RW (1 Abfrage) —> damit wird das Unterformular gefüllt
SELECT tblRW.ID, tblRW.Projekt_Nr, tblRW.Beteiligung, tblRW.Firma, tblRW.[-x-Area], tblRW.[-x-City], tblRW.Telefon, tblRW.[-x-Company Tel], tblRW.Text, tblRW.Thema
FROM tblRW
WHERE (((tblRW.Firma)<>""));
3: SQL der 2 Abfrage auf Basis der 1 Abfrage mit dem Input aus der Suchmaske
SELECT gryUFO_RW.Projekt_Nr, gryUFO_RW.ID, gryUFO_RW.Beteiligung, gryUFO_RW.Firma, gryUFO_RW.[-x-Area], gryUFO_RW.[-x-City], gryUFO_RW.Telefon, gryUFO_RW.[-x-Company Tel], gryUFO_RW.Text, gryUFO_RW.Thema
FROM gryUFO_RW
GROUP BY gryUFO_RW.Projekt_Nr, gryUFO_RW.ID, gryUFO_RW.Beteiligung, gryUFO_RW.Firma, gryUFO_RW.[-x-Area], gryUFO_RW.[-x-City], gryUFO_RW.Telefon, gryUFO_RW.[-x-Company Tel], gryUFO_RW.Text, gryUFO_RW.Thema
HAVING (((gryUFO_RW.Firma) Like "*" & [Forms]![Suchmaske]![sucheFirmaGU] & "*"));
4. Das Ergebnis ist genau wie gewollt nur für den gesuchten Firmennamen werden die Projekte angezeigt
Ich hatte im Code -siehe vorherige posts - nur die 1Abfrage eingebaut - aber auch mit dem Wechsel zur 2 ten Abfrage kommt keine Filterung zustande
Einzig ein neuer leerer Datensatz wir aufgerufen.
Hallo,
die Präfixe in der 2. Abfrage entsprechen nicht dem Abfragenamen (1. Abfrage) ... qryUFO_RW und nicht gryUFO_RW
Wenn du die SQL KOPIERT hast ist das zu ändern - andernfalls hast du einen multiplen Tippfehler in deiner Antwort
Ok Danke, hat aber auch keinen Effekt
aktuell ist der Code wie beschrieben nur das anstelle von
From qryUFO _RW nun die 2 Abfrage drin steht
From qryProjekte_RW
Das HFO öffnet mit einem einzelnen neuen leeren Datensatz
Hallo,
dann gibt es keine/n zu den Filterkriterien passenden Datensatz/sätze..
Jetzt geht es mit diesem Code- Danke für die Unterstützung
Dim strSQL As String
DoCmd.OpenForm "Projekt_Tabelle", acNormal, ""
strSQL = "SELECT *" _
& " FROM Projekt_Tabelle"
If Not IsNull(Me![sucheFirma]) Then
strSQL = strSQL _
& " WHERE Projekt_Nr IN (SELECT Projekt_Nr" _
& " FROM tblRW" _
& " WHERE Firma Like '*" & Me!sucheFirma & "*')"
End If
Forms![Projekt_Tabelle].RecordSource = strSQL