Datagrid

Hallo,

hätte eine Frage. Wie kann man Datensätze, die man vorher mit einer SQL Anweisung aus einer Access Tabelle raussucht, in ein Datagrid schreiben.

Wäre für jede hilf dankbar.

hallo,

du schreibst:

set datagrid.datasource = [recordset]

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

er zeigt mir eine fehlermeldung beim ausführen an.

hier der quelltext…

Private Sub Com_Verbinden_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sPasswort As String
Dim sDBFile As String

'Hier wird die Datenbank ausgewählt
sDBFile = „D:/datenbank.mdb“
sPasswort = „admin“
'Datenbank wird geöffnet
Set db = DBEngine.OpenDatabase(sDBFile, False, False, _
„;pwd=“ & sPasswort)

'SQL-Anweisung ausführen lassen

Set rs = db.OpenRecordset(„SELECT * FROM A_sozialgericht Where SOZ_NAME=’“ & Text_NameSoz.Text & „’“)
While rs.EOF = False
Set DataGrid.DataSource = [Recordset]
MsgBox rs!SOZ_LFD_NR & " | " & rs!SOZ_NAME
rs.MoveNext
Wend
End Sub

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo tyler,

du brauchst deín recordset nicht in einer schleife abarbeiten lassen…

einfach nur :

datagrid1.datasource = rs
(natürlich statt „datagrid1“ den namen deines datagrids schreiben)

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hab ich gemacht, jetzt kommt der Fehler Objekt erforderlich. Kann es sein das es daran leigt das mein Datadgrid in einem anderen Formular steht?

Hier noch mla der quellcode
Private Sub Com_Verbinden_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sPasswort As String
Dim sDBFile As String

'Hier wird die Datenbank ausgewählt
sDBFile = „D:/Erkut/Abschlussprojekt/datenbank.mdb“
sPasswort = „admin“
'Datenbank wird geöffnet
Set db = DBEngine.OpenDatabase(sDBFile, False, False, _
„;pwd=“ & sPasswort)

'SQL-Anweisung ausführen lassen

Set rs = db.OpenRecordset(„SELECT * FROM A_sozialgericht Where SOZ_NAME=’“ & Text_NameSoz.Text & „’“)

Set DataGrid1.DataSource = rs

End Sub

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo tyler,

ja genau daran liegt es. es ist nciht bekannt.

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Datagrid
Gib es da keine andere Lösung? Ich muss nämlich durch ein buttonklick, das neue formular öffnen lassen, wo das datagrid enthalten ist. In das Datagrid sollen dann die gesuchten datansätze +deren ganze Zeile reingeschrieben werden.

hallo tyler,

eine lösung??
hunderte!!!

du könntest z.b. das datagrid bekannt machen
du könntest z.b. das datagrid erst in der folgeform befüllen(und daten abrufen)
du könntest ein behelfs-modul bauen(mit datagrid)
du könntest eine eigene klasse dafür basteln
usw usw… viele saubere und „unsaubere“ lösungen

viele wege führen nach rom, wir nehmen einen der schnellsten, damits hier mal ein ende gibt :smile:

der ganze datenbankanbfrageschmonz kommt in die folgeform

du fügst deinem projekt ein modul hinzu
in diesem dimensionierst du eine public string variable sonst nichts (public str as string)

bei button-klick der ersten form sagst du:

str = textbox.text’(wie immer deine textbox heisst)

userform2.show’(wie immer deine userform heisst)

in der userform liest du die „str“-variable aus und setzt anhand des parameters das sql auf die access-db ab(wie vorher)

danach: datagrid1.datasource = rs

fertig!!!

gruß

rasta

Gib es da keine andere Lösung? Ich muss nämlich durch ein
buttonklick, das neue formular öffnen lassen, wo das datagrid
enthalten ist. In das Datagrid sollen dann die gesuchten
datansätze +deren ganze Zeile reingeschrieben werden.

wie les ich die str variable aus und wi everbinde ich sie mit sql. Bitte um hilfe.

sag mal…
hallo tyler,

ich habe verständniss für vb-anfänger und ihre probleme.
nur entweder willst du mich aufn arm nehmen oder hast überhaupt keinen bock nur ein bisserl dein hirn anzustrengen.

lies den letzten beitrag von mir nochmals und befolge genau was da steht-

variable auslesen/zuweisen geht so:

variable1 = variable2
oder auch
str = str2

mit sql verbinden:

Set rs = db.OpenRecordset(„SELECT * FROM A_sozialgericht Where SOZ_NAME=’“ & str & „’“)

wenn du in zukunft auch noch „hallo lieber rasta“ und „tschö, tschüss, servus“ oder was immer man bei euch in berlin sagt, sagst, wäre ich sehr erfreut

also, viel glück

rasta

sag mal…
HALLI HALLO RASTA

ich habe jetzt alles gemacht was sie mir gesagt haben. Aber es will immer noch nicht klappen. Habe ein neues Modul erstellt, den Code den sie mir gegeben haben reingeschrieben. (Public str As String)

Im ersten Formular habe ich folgenden Code drin:
Private Sub Com_Verbinden_Click()
str = Text_NameSoz.Text ’
Form_Suchergebnisse.Show ’
End Sub

Und im zweiten wo das Datagrid drin ist habe ich folgenden Code:

Private Sub Form_Load()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sPasswort As String
Dim sDBFile As String

'Hier wird die Datenbank ausgewählt
sDBFile = „D:/Erkut/Abschlussprojekt/datenbank.mdb“
sPasswort = „admin“
‚Datenbank wird geöffnet
Set db = DBEngine.OpenDatabase(sDBFile, False, False, _
„;pwd=“ & sPasswort)
‚SQL-Anweisung ausführen lassen
Set rs = db.OpenRecordset("SELECT * FROM A_sozialgericht Where SOZ_NAME=‘" & str & "‘")
Set DataGrid1.DataSource = rs
End Sub

Was hab ich denn falsch gemacht?
Ich bin dir echt dankbar.

Grüße aus Berlin

Tyler

hmm
hallo tyler,

seh den fehler grad nicht… schick mir doch mal das vb-projekt als zip-file zu.

viele gräüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]