![]() |
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.. |
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 =) |
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. ;) |
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