WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   und nochmal Access + SQL Server (http://www.wcm.at/forum/showthread.php?t=64011)

renew 24.07.2002 08:54

und nochmal Access + SQL Server
 
Gibts eine Möglichkeit aus einem normales Acces File (mdb) wo auch Tabellen sind, in VBA ein zusätzliche Connection zu einem SQL Server aufzubaun, und sich von dort auch Recordsets zu holen?

Wenn ja, wie geht das? :) (die connection - weil ich hab noch nix gefunden)

Seidl 24.07.2002 11:29

Zugriff auf eine Remotetabelle mit ADO
 
Const DB = "DeineZieldatenbank"

dim Cn as ADODB.Connection
dim Rs as ADODB.Recordset

set Cn = new ADODB.Connection
With Cn
.CursorLocation = adUseClient
.Provider = "SQLOLEDB"
.ConnectionString = DB
.Open
End With
set Rs = new ADODB.Recordset
Rs.Open Source:="DeineTabelle", ActiveConnection:=Cn
'Deine Befehle
Rs.Close
Cn.Close

Habs noch nicht versucht, sollte aber soweit mir bekannt funktionieren.

renew 24.07.2002 11:48

danke werds dann ausprobieren(oder jemanden anderen geben zum Ausprobieren ;))

schaut aber inhaltlich nicht so schlecht aus. :D

bev 24.07.2002 11:57

im access hast du die möglichkeit dir
tabellen aus dem sql server zu verknüpfen

funkt über datei - externe daten - tabelle verknüpfen

dann gibst deinen sql server als datenquelle an und verknüpfst dir die tabellen die du brauchst

danacht kannst sie aus dem code wie eine lokale tabelle ansprechen

(hab das ganze nur im access 97 getestet, müsste aber mit einer anderen version auch funken)

renew 24.07.2002 13:06

Wenn ich es über ADO in VBA mach bekomm ich folgende Fehlermeldung:
Zitat:

Der angegeben SQL Server wurde nicht gefunden.
Das is meine Funktion:
Code:

Dim con As ADODB.Connection
Dim rst As ADODB.Recordset

Set con = New ADODB.Connection
Set rst = New ADODB.Recordset

Dim db As String

db = "edvverwaltung" 'Datenbankname

With con
    .CursorLocation = adUseClient
    .Provider = "SQLOLEDB"
    .ConnectionString = db
   
    .Open
End With

rst.Open "bildschirm", con, adOpenDynamic, adLockOptimistic

MsgBox rst!IDBildschirm

rst.Close
con.Close

Nur hab ich da noch nirgends den SQL Server angegeben. Drum wird er den wahrscheinlich auch nicht finden - nur wo geb ich den an?

@bev:

hört sich gut an. Nur wie geht des. ;)
Geh ich auf Datei/Externe Daten/Tabelle verknüpfen, kann ich eine reihe an Filetypen angeben.
Ganz am Schluss steht ODBC Datenquelle. Ich hab die genommen (weil was anderes kanns eigenltich nicht sein) und dann? Dann kann ich eine Data Source auswählen. Nur ich glaub ich brauch noch an ODBC Treiber fürs SQL Server - is des korrekt? Weil ich hab keinen passenden ODBC Treiber gefunden.
Ich hab nur diese: dBase - Dateien Word; dBase-Dateien; Excel-Dateien, FoxPro Dateien, Microsoft Access - Datenbank, Visual FoxPro - Datenbank, Visual FoxPro - Tabellen.

bev 24.07.2002 13:34

hallo

was für ein system läuft auf der kiste ?
hast du dir die sql datenbank schon als odbc datenquelle angelegt?

es gibt in der systemsteuerung (bei win 2000 unter verwaltung)
eine auswahl mit dem namen "Datenquellen ODBC" da kannst du dir
deine SQL datenbank als odbc datenquelle verknüpfen.

im access gehst dann beim der auswahl der datenquellen (dBase usw.)nicht auf dateidatenquelle sondern auf computerdatenquellen, dort müsste die oben über datenquellen verknüpfte datenbank aufscheinen

schönen gruß

renew 24.07.2002 14:33

ja es is Win2k....

passt danke, das hab ich vergessen - den SQL Server einzubinden. Hab das noch nie benötigt - drum hab ichs auch ned gewusst. ;)

Jetzt hats auf jeden Fall gefruchtet ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag