WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   connection zwischen mdb xls dateien... (http://www.wcm.at/forum/showthread.php?t=90742)

maxmustermann 10.03.2003 08:49

connection zwischen mdb xls dateien...
 
also ich hab 2 fragen:

1. ich will in einer datei überprüfen welche tabellen vorhanden sind, welche attribute usw..

das ganze mache ich so:
Dim con As ADODB.Connection
Dim cat1 As New ADOX.Catalog

Set con = CurrentProject.Connection
Set cat1.ActiveConnection = con

MsgBox cat1.Tables(5).Columns(0).Name

dann gibt er mir zb das 1. attribut einer bestimmten tabelle aus..

jetzt will ich das ganze in einer externen datenbank kontrollieren!

wie soll ich da jetzt die connection aufbaun? hat da wer ne ahnung?



2. ich hab ein modul geschrieben, was mir folgendes problem bereitet:
ich greife im modul auf ein excel file zu, und hole mir aus diesem immer daten, und kontrolliere bestimmte felder darin usw..

jedoch hab ich das problem das sich meiner meinung nach irgendwie die connection oder so nicht schliesst, da es vorkommen kann dass man nach dem ausführen kein excel file mehr direkt aufmachen kann!

nur noch wenn man excel aufmacht, und dann datei / öffnen..
wenn man direkt ne datei aufmacht, dann öffnet sich zwar excel, aber man sieht nur die obere leiste und unten die leiste.. in der mitte wo die datei dargestellt ist, bleibts leer..

ich bau die connection so auf:

Dim conExcel As New ADODB.Connection

Dim Excel As Object
Dim Sheet As Object
Dim rngSearch As Object
Dim rngFound As Object

Set Excel = GetObject(pfad)
Set Sheet = Excel.Sheets.Item("input")
Set rngSearch = Sheet.Range("A1:IV5000")
Set rngFound = rngSearch.Find("ric")

With conExcel
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open pfad
End With

das sind alle verbindungen die ich mit excel ausführe..
woran kanns liegen?
fehlt einfach nur ein conexcel.close oder was?
hab ich glaub ich aber schon probiert und ging nicht..

maxmustermann 10.03.2003 09:58

k, 1. problem ist gelöst..

und zwar so:

Set con = New ADODB.Connection

With con
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;Data Source=" & strPath & _
"; Mode=Read|Write"

.Open

End With

der rest wie im ersten post beschrieben..
naja gut, jetzt wäre noch das andere..

also wenn wer ne ahnung hat, wie ich das problem mit dem "gesperrten" excel lösen kann.. wäre sehr hilfreich =)

Seidl 10.03.2003 11:22

Nicht mehr benötigte Verbindungen in Access IMMER über

ConnectionName.Close
set ConnectionName = nothing

beenden. Ansonsten kannst du dir in grösseren Projekten ziemlich hässliche Probleme einfangen.
Man sollte ohnehin darauf achten Objekte, egal welcher Art, zu verwerfen sobald man sie nicht mehr braucht. VB und VBA sind zwar im allgemeinen sehr, sehr, sehr gnädig aber sie können doch auch recht bockig werden, wenn man zu schleissig programmiert. ;)

maxmustermann 10.03.2003 16:33

k, ich werds damit noch versuchen..

set ConnectionName = nothing



connectionname.close hab ich eh schon gemacht..

wenns noch immer nicht hinhaut, dann werd ich den code mal hochladen.. vielleicht findest du ja auf die schnelle dann was es noch sein kann..

aber wie gesagt ich teste jetzt mal mit dem set nothing..


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

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