Microsoft Excel

Herbers Excel/VBA-Archiv

Excel und Vista | Herbers Excel-Forum


Betrifft: Excel und Vista von: Stefan
Geschrieben am: 20.12.2009 13:06:51

Hallo zusammen,

hoffe, Ihr könnt mir helfen.

Hab mir einen neuen PC gekauft und möchte meine Exceldatei (mit Access als DB) weiterhin nutzen. Da ich in meinen Markos hierzu mit Pfaden arbeite, hab ich diese einfach entsprechend angepasst und dachte, damit wäre alles erledigt.

Aber seit dieser Umstellung bekomme ich immer einen Laufzeitfehler und die UF öffnen sich nicht mehr. Wenn ich diese Stellen der Makros ausblende, klappt wieder alles. Also passt bei den Pfaden was nicht, da ich diese aber über "Eigenschaften" der jeweiligen Datei kopiert habe, kanns auch kein Tippfehler sein.

Weiss jemand von Euch, was da noch sein könnte.

Danke für Eure Hilfe.

Stefan

  

Betrifft: AW: Excel und Vista von: mumpel
Geschrieben am: 20.12.2009 13:28:25

Hallo!

Um welche Pfade handelt es sich? In Vista/7 muss aus dem Pfad "C:\Dokumente und Einstellungen\Username\" der Pfad "C:\Users\Username\" werden werden.

Gruß, René


  

Betrifft: AW: Excel und Vista von: Stefan
Geschrieben am: 20.12.2009 14:17:11

Hallo Rene,

hier ein Auszug meiner Pfadbestimmung:

pfad = UserForm1.vari1

DOC.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & pfad & " "
dbs.Open "pa", ADOC, adOpenKeyset, adLockOptimistic
Sql = "select mistake from bericht"

Wie muss ich das ändern? Ich möchte unbedingt die Variable beigehalten, das man unkompliziert auf Veränderungen reagieren kann.

Gruß
Stefan


  

Betrifft: AW: Excel und Vista von: mumpel
Geschrieben am: 20.12.2009 14:59:34

Hast Du einen Verweis auf die OLEDB gesetzt? Vista und 7 sind meist nicht in der Lage, den Verweis automatisch zu korrigieren. Das musst Du dann manuell über Extras->Verweise machen. Ist die OLEDB überhaupt installiert?


  

Betrifft: AW: Excel und Vista von: Stefan
Geschrieben am: 20.12.2009 18:43:15

Hallo,

OLEDB ist installiert und auch bei den Verweisen angehackt.

Hab jetzt mit Haltepunkt herausgefunden, das VB bei "dbs recordcount" eine Objektvariable sucht. Bisher hat das immer funktioniert. Wo liegt der Fehler?

Stefan


  

Betrifft: AW: Excel und Vista von: mumpel
Geschrieben am: 20.12.2009 19:29:36

Zeig doch mal den Code.


  

Betrifft: AW: Excel und Vista von: Stefan
Geschrieben am: 20.12.2009 19:44:10

Dim ADOC As New ADODB.Connection, dbs As New ADODB.Recordset, b As Variant, a As Variant
pfad = UserForm1.vari1

ADOC.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & pfad & " "
dbs.Open "PrivateAdressen", ADOC, adOpenKeyset, adLockOptimistic
Sql = "select privat from bericht"
a = dbs
b = a("privat")
If dbs.RecordCount() größer 0 Then
Do While Not dbs.EOF
privat.AddItem dbs.Fields("privat") & vbTab
dbs.MoveNext
Loop
End If
dbs.Close
ADOC.Close
Set ADOC = Nothing
Set dbs = Nothing


  

Betrifft: AW: Excel und Vista von: mumpel
Geschrieben am: 20.12.2009 22:04:16

Du bist nicht der Erste mit diesem Problem. Anstatt das über ADODB zu machen solltest Du direkt auf die DB zugreifen. Stelle Deine Frage doch mal in einem Accessforum, hier zum Beispiel: Office 2007-Hilfe/Access


  

Betrifft: Fehlermeldung? von: Erich G.
Geschrieben am: 20.12.2009 13:32:37

Hallo Stefan,
vielleicht kann das angehängte Zitat aus den (lesenswerten!) Forums-FAQ helfen:

Fehlerbeschreibungen

Beschränke Dich nicht auf die lapidare Feststellung Excel meldet Fehler;
gib die exakte Fehlermeldung an. Stoppt Excel einen VBA-Code, 
gib die exakte Zeile des Programmabbruchs an.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort