789 Aufrufe
Gefragt in Datenbanken von
Hallo, ich habe schon gesucht aber nichts gefunden. (Vielleicht falsch gefragt?) Hier mein Problem:
In einer tabelle sind in Spalte 1 Personalnummern und in Spalte 2 die berufl. Fähigkeiten aufgeführt. Die Struktur der Tabelle ist vorgegeben
Bsp:
No Faehigkeit
0001 Test1
0001 Test2
0001 Test3
0002 Test1
0002 Test3
0003 Test2

Über ein Kombifeld im Formular soll nun nach der Fertigkeit gefiltert werden...kein Problem. Über ein 2. Kombifeld sollen nun die Mitarbeiter gefiltert werden, die die Fähigkeit aus Kombi1 und die aus Kombi 2 haben und hier scheiter ich.

mein Code:
Dim txttmp1, txttmp2, txttmp3 As String
txttmp1 = "SELECT tbl_Test.Person FROM tbl_Test WHERE ((tbl_Test.F)='" & Comb1 & "')"
txttmp2 = "SELECT tbl_Test.Person FROM tbl_Test WHERE ((tbl_Test.F)='" & Comb2 & "')"
txttmp3 = "select tbl_Test.Person, tbl_Test.F from tbl_Test where tbl_Test.[Person]='" & txttmp1 & "' and tbl_Test.[Person]='" & txttmp2 & "'"
Me.RecordSource = txttmp3

ich bekomme immer Sytaxfehlermeldungen, was mache ich falsch?

Ich hoffe Ihr könnt mir helfen
Gruß Golly1

1 Antwort

0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Golly1,

deine Beschreibung ist etwas verwirrend. Also:

1. du hast zwei Kombifelder in denen man zwei (unterschiedliche?) Fähigkeiten aussuchen kann. Mit diesen zwei Fähigkeiten willsz du alle Personalnummern (No = Person?, was ist F?) raus finden?
Ist das so richtig?

xttmp3 = "select tbl_Test.Person, tbl_Test.F from tbl_Test
where exists (SELECT Person from tbl_Test

Me.RecordSource = txttmp3

müsstest du dann durch

xttmp3 = "SELECT t1.[No], t1.F
FROM tbl_test AS t1
WHERE (((Exists (select [No] from tbl_test t2 where( F='" Comb1 & "' or F = '" & Comb2 & "') and t1.[No] = t2.[No]
group by [No] having count(*) = 2))<>False));

Me.RecordSource = txttmp3

ersetzen. Funktioniert allerdings nur bei zwei gesetzten Combs.
Passt das? Ist nur eine Möglichkeit von vielen.

Gruß
Ralf
...