Access-o-Mania

Datenbanken (Deutsch/German) => MS SQL-Server => Thema gestartet von: TomTom2903 am Juni 08, 2013, 15:16:04

Titel: Recordset auch auf SQL-Server möglich?!
Beitrag von: TomTom2903 am Juni 08, 2013, 15:16:04
Hallo,
ich habe folgenden Code in Access und würde diesen Gerne auf den SQL-Server als gespeicherte Prozedur ablegen

Function Artikelgruppe_Ergaenzung()
    Dim db As DAO.Database
    Dim rstGruppe As DAO.Recordset2
    Dim rstArtikel As DAO.Recordset2
   
    Set db = CurrentDb
    Set rstGruppe = db.OpenRecordset("dbo_VIS_Artikelgruppe_Erg", dbOpenDynaset)
    Set rstArtikel = db.OpenRecordset("dbo_VIS_Artikel", dbOpenDynaset)
   
    db.Execute "delete from dbo_VIS_Artikelgruppe_Erg"
   
    Do While Not rstArtikel.EOF
        With rstGruppe
            .AddNew
            !Artikel = rstArtikel!Artikel
            !Rubrik_ID = Left(rstArtikel!ArtikelGruppe, 1)
            !Segment_ID = Left(rstArtikel!ArtikelGruppe, 2)
            !Sortiment_ID = Left(rstArtikel!ArtikelGruppe, 3)
            !System_ID = Left(rstArtikel!ArtikelGruppe, 5)
            .Update
        End With
        rstArtikel.MoveNext
    Loop
   
    rstArtikel.Close
    rstGruppe.Close
    Set rstArtikel = Nothing
    Set rstGruppe = Nothing
    Set db = Nothing
End Function


Auf dem SQL - Server habe ich ja sicherlich die Möglichkeit auch mit Recordsets zu arbeiten.
Kann mir jmd sagen, wo ich dazu was lesen kann oder Stichwort zum googeln?
Viele Grüße und ein schönes Wochenende
Tom
Titel: Re: Recordset auch auf SQL-Server möglich?!
Beitrag von: database am Juni 08, 2013, 22:00:13
Hallo,

die Standardzugriffsmethode für MS-SQL Server ist per ADO auf die Daten zuzugreifen.

Zum Nachlesen ... vielleicht dieses hier:

http://www.activevb.de/tutorials/tut_adokurs/adokurs.html (http://www.activevb.de/tutorials/tut_adokurs/adokurs.html)

HTH
Titel: Re: Recordset auch auf SQL-Server möglich?!
Beitrag von: TomTom2903 am Juni 11, 2013, 09:47:14
Zitat von: database am Juni 08, 2013, 22:00:13
Hallo,

die Standardzugriffsmethode für MS-SQL Server ist per ADO auf die Daten zuzugreifen.

Zum Nachlesen ... vielleicht dieses hier:

http://www.activevb.de/tutorials/tut_adokurs/adokurs.html (http://www.activevb.de/tutorials/tut_adokurs/adokurs.html)

HTH


Hallo Peter,
danke für deine Antwort.
Greife jedoch wie du siehst in meinem Code per DAO auf den SQL - Server zu. Ohne Problme. ;-)

Meine Frage war: "Wie kann ich diesen Code auf dem SQL Server als stored procedure, ablegen."
Diese würde ich dann durch eine Path Through Abfrage ausführen.

Viellecht nicht ganz klar ausgedrückt.  ::)

Bräuchte jetzt einen Hinweis wie ich das am besten umsetzen kann.  ???
Titel: Re: Recordset auch auf SQL-Server möglich?!
Beitrag von: DF6GL am Juni 11, 2013, 10:22:00
Hallo,

Du kannst keinen VBA-Code als "Stored Procedure" auf dem SQL-Server ablegen.

Stored Procedures bestehen, weil eben "SQL"-Server, aus einer oder einer Abfolge von Abfragen, sprich SQL-, bzw. auch DDL-Statements.

In Deinem Fall wäre ein Insert-Statement mit entspr. eingebauten Parameter-Variablen angebracht, die beim Ausführen der SP übergeben werden.
Titel: Re: Recordset auch auf SQL-Server möglich?!
Beitrag von: TomTom2903 am Juni 11, 2013, 17:37:20
Hi Franz,
danke für die Info.
Jetzt kann ich mich auf den entsprechenden SQL Befehl konzentrieren.
Grüße
Tom
Titel: Re: Recordset auch auf SQL-Server möglich?!
Beitrag von: database am Juni 11, 2013, 20:24:10
Hallo,

hinter untenstehdem Link findest du noch ein Beispiel zum Aufruf einer Stored Procedure mittel VBA

http://www.ms-office-forum.net/forum/showthread.php?t=266123 (http://www.ms-office-forum.net/forum/showthread.php?t=266123)