Veröffentlicht 28. Februar 200322 j Moin Moin !!!!! Gibts ja gar nicht !! Folgendes ein DB Grid soll zur Laufzeit erst eine RecordSource Eigenschaft zugewiesen bekommen bzw soll sie geändert werden. Und zwar möchte ich dem DBGrid die Daten einer SQL Anweisung geben die zur Laufzeit über Variablen dynamisch zusammengesetzt wird. Laut Hilfefunktion soll das über die Set Anweisung funzen aber irgendwie kann ich dort nur die Datenquellen angeben die in Access gespeicht sind. Geht das überhaupt und wenn wie ??????
28. Februar 200322 j Hi, gib einfach statt der Access Quelle deinen SQL-String an. Der könnte z.B. so aussehen: "SELECT * FROM (TABELLE) WHERE (Spalte1) LIKE '*maier';" Wenn du "maier" durch eine Variable (SucheName$) ersetzen willst, sieht das dann so aus: "SELECT * FROM (TABELLE) WHERE (Spalte1) LIKE '*" & SucheName$ & "';" Hoffe, das hat dir geholfen. Gruß, Chris
28. Februar 200322 j Originally posted by ChrisDaHub "SELECT * FROM (TABELLE) WHERE (Spalte1) LIKE '*" & SucheName$ & "';" Könnte beim Öffnen des Formulares Probleme machen, da noch nicht in SuchName$ festgelegt ist. Also besser an der entsprechenden Stelle die dynamisch erstellte SQL - Anweisung als Datenquelle übergeben. Wir reden von ACCESS? - Gibt es da einfach irgendwo das DBGrid? Ich kenne es z.B. aus Delphi. In Access arbeite ich mehr mit Unterformularen in tabellarischer Reihenfolge, wobei auch hier die datensatzherkunft als SQL - Anweisung übergeben wird.
28. Februar 200322 j Grübel Grübel @ Chris nein leider nicht wirklich wenn ich den Sql String angebe folgendermaßen : Set data1.RecordSource = SQLstring Dann kommt bei der Ausführung die selbe Fehlermeldung wie bei der anderen Variante: set rs_alle_suchen = db.OpenRecordset("SQLstring") Set data1.RecordSource = rs_alle_suchen nämlich, dass dies eine ungültige Verwendung einer Eigenschaft ist und er deshalb einen Kompilierfehler verusacht. @ Der Kleine Nein wir reden nicht von Access sondern von VB 6.0 nur die Datenbank aus der die Daten genommen werden liegt in Access-Format vor. Die Benutzeroberfläche wird in VB 6.0 erstellt und somit auch das Grid.
28. Februar 200322 j Hi, also hier hab ich dir mal einen SQL-String aus einem funktionierenden Programm kopiert. frmAusgabeTabelle.datMoldausschuss.RecordSource = "SELECT * From Mouldausschuss WHERE " & frmDragDrop.txtYAchse.Tag & " AND (LT) = '" & SuchenachX & "' AND (Moldtyp) LIKE '*" & STyp & "' AND ((Ursache1) = '" & Fehler & "' OR (Ursache2) = '" & Fehler & "' OR (Ursache3) = '" & Fehler & "');" Schau mal, ob bei dir die Syntax stimmt.... Vielleicht liegt da der Fehler.... Kannst ja deinen SQL$ mal posten... Vielleicht finde ich ja nen Fehler. Gruß, Chris
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.