Recordset mit Daten aus SQL-Prozedur füllen

20/11/2008 - 13:07 von stbrand | Report spam
Hallo,

Es geht um ein .ADP welches sich auf einen SQL Server 2005 verbindet.
Verbindung ist OK, Tabellen etc. werden angezeigt und können bearbeitet
werden.

Was nicht geht ist, ein Recordset mit Daten aus einer SQL-Prozedur zu
füllen. Der Prozedur werden Parameter übergeben, welche Feldern auf dem
Access-Formular entsprechen.

Hat das schon mal jemand gemacht? War es erfolgreich? Wenn ja, hat mir
vielleicht jemand ein Code-Beispiel mit dem ich weiterarbeiten könnte?
 

Lesen sie die antworten

#1 Karsten Schultz
22/11/2008 - 12:10 | Warnen spam
Hallo stbrand,

leider weiß ich nicht, wie ich Dich namentlich ansprechen kann. Gib doch
bitte Deinen Realnamen an!

Ich habe gerade angefangen mich mit ADPs zu beschàftigen und habe
ebenfalls das Problem recordsets zu füllen. Ich bin mir nicht sicher, ob
meine Lösung (siehe unten) Dein Problem löst, aber vielleicht liefert
sie einen Ansatz.

Ich greife zu auf eine Tabelle T_Person mit den Feldern

PersID integer PK
NName nvarchar (30)
VName nvarchar (30)


Falls Du (oder ein(e) Andere(r)) eine einfachere Lösung kennst, wàre
eine entsprechenden Antwort schön.

Gruß Karsten


Private Sub TestConnection()
Dim CN As DAO.Connection
Dim RS As DAO.Recordset
Dim SQLStr As String
Dim wrkODBC As DAO.Workspace

'workspace initialisieren. Username und Password sind
'nicht erforderlich

Set wrkODBC = CreateWorkspace("", "", "", dbUseODBC)

Set CN = wrkODBC.OpenConnection("", dbDriverNoPrompt, , _
"ODBC;DTABASE=KITA-Verwaltung;DSN=KITA-Verwaltung")

SQLStr = "SELECT * FROM T_Person"

Set RS = CN.OpenRecordset(SQLStr)
Do Until RS.EOF
Debug.Print RS!PersID, RS!NName, RS!VName
RS.MoveNext
Loop
Debug.Print ""

'Eine Änderung per SQL-Anweisung vornehmen
SQLStr = "UPDATE T_Person SET VName = 'Karsten' WHERE PersID = 1"
DoCmd.RunSQL (SQLStr)

'Ist die Änderung angekommen?
SQLStr = "SELECT * FROM T_Person"
Set RS = CN.OpenRecordset(SQLStr)
Do Until RS.EOF
Debug.Print RS!PersID, RS!NName, RS!VName
RS.MoveNext
Loop

RS.Close
CN.Close
wrkODBC.Close
Set RS = Nothing
Set CN = Nothing
Set wrkODBC = Nothing

End Sub


stbrand schrieb:
Hallo,

Es geht um ein .ADP welches sich auf einen SQL Server 2005 verbindet.
Verbindung ist OK, Tabellen etc. werden angezeigt und können bearbeitet
werden.

Was nicht geht ist, ein Recordset mit Daten aus einer SQL-Prozedur zu
füllen. Der Prozedur werden Parameter übergeben, welche Feldern auf dem
Access-Formular entsprechen.

Hat das schon mal jemand gemacht? War es erfolgreich? Wenn ja, hat mir
vielleicht jemand ein Code-Beispiel mit dem ich weiterarbeiten könnte?

Ähnliche fragen