| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Auslesen von SQL DB mitAcad VBA (3004 mal gelesen)
|
SEHER Mitglied Systemanalytiker
   
 Beiträge: 1203 Registriert: 13.03.2001
|
erstellt am: 29. Mai. 2004 00:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo Acad VBA Forum, habe bis jetzt nur im Inventor rumgemacht und mit folgendem part. Code ein bisschen aus der SQL DB ausgelesen. Wie mache ich dieses mit Acad VBA?? Dim oDoc As Document Set oDoc = ThisApplication.ActiveEditObject If oDoc.DocumentType = kPartDocumentObject Then Dim conn As New Connection Dim recs As Recordsets Dim rec As New Recordset, f1, f2, f3 As Field Dim odateiname As String Dim sql$, i& conn.Open "Provider=MSDASQL;DSN=PPSTD" ... Für jeden Hinweis dankbar Gruß Seher Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002 Win10 64bit Autodesk Produkte 2018 VB.net / Powershell
|
erstellt am: 02. Jun. 2004 13:38 <-- editieren / zitieren --> Unities abgeben:          Nur für SEHER
Hallo Seher, hier hast Du mal einen Ansatz, wie man mehrere Daten aus der Datenbank holen kann. Du mußt aber in der Form eine ADODB erstellen und diese bei den Eigenschaften mit der SQL-Datenbank verbinden. (siehe unter connectionString) Public Sub GetZNRDB(??? As String) Dim SQLstring as string Dim Cn As ADODB.Connection Set Cn = New ADODB.Connection SQLstring = "Select * From Datenbank where Tabelle.Spalte = Variable" Cn.Provider = "SQLOLEDB.1" Cn.Properties("Data Source") = "Servername" Cn.Properties("Initial Catalog") = "Datenbankname" Cn.Properties("Integrated Security") = "SSPI" Cn.Open Dim RsT As New ADODB.Recordset On Error GoTo ende With RsT .ActiveConnection = Cn .CursorLocation = adUseClient .source = SQLstring .Open On Error GoTo 0 Dim oTabField As Variant For Each oTabField In .Fields On Error Resume Next If oTabField.Value = "" Then On Error GoTo ende End If If oTabField.Name = "Spalte" Then ??? = RTrim(oTabField.Value) End If If oTabField.Name = "Spalte" Then ??? = RTrim(oTabField.Value) End If Next ende: Cn.Close End With End Sub Hoffe es hilft Dir weiter... ------------------ cu Heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SEHER Mitglied Systemanalytiker
   
 Beiträge: 1203 Registriert: 13.03.2001
|
erstellt am: 02. Jun. 2004 16:03 <-- editieren / zitieren --> Unities abgeben:         
|
Heiko76 Mitglied Applikationsingenieur
  
 Beiträge: 589 Registriert: 21.03.2002 Win10 64bit Autodesk Produkte 2018 VB.net / Powershell
|
erstellt am: 03. Jun. 2004 07:47 <-- editieren / zitieren --> Unities abgeben:          Nur für SEHER
|
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Die Phönizier haben das Geld erfunden - aber warum so wenig? (Johann Nepomuk Nestroy)
|
erstellt am: 18. Jun. 2004 13:22 <-- editieren / zitieren --> Unities abgeben:          Nur für SEHER
|
Dexta Mitglied

 Beiträge: 38 Registriert: 23.02.2005
|
erstellt am: 01. Mrz. 2005 13:17 <-- editieren / zitieren --> Unities abgeben:          Nur für SEHER
Hi Heiko76, dein Beitrag hilft mir sehr weiter, ich habe nämlich fast das selbe Problem, bin aber zum einen kein VBA-Experte, und habe vor einer Woche angefangen, mich mit AutoCAD zu beschäftigen. Ich habe eine SQL-Datenbank in AutoCAD eingebunden, die für meine XRefs, bzw. Icons Werte bereitstellen soll, die dann mit einer Art Kombinationsfeld ausgewählt werden sollen. Die Datenbank steht auch schon, wie kann ich dieses mit einem VBA-Code realisieren? Dein Ansatz weiter oben hat mir schon sehr weitergeholfen, nur verstehe ich nicht, für was die ??? stehen und zum anderen,was du mit CN.Properties("Integrated Security") meinst, die User-ID oder das Passwort der Datenbank? Und wie ich dies syntaktisch richtig umsetze!!! :-) Bis dann!!! Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |