excel-Frage
vielfrager
- vb-script
0 Ludger0 vielfrager0 Ludger
0 vielfrager
hallo an selfhtml
ich bin ein office-doofie und krieg nix hin :-(
Dim strPfad As String
Dim rsKunden As DAO.Recordset
Dim dbCurrent As Database
Dim dbRemote As Database
strPfad = "C:\ofengalerie_kircher\daten\ofengalerie.mdb"""
Set dbCurrent = CurrentDb
Set dbRemote = DBEngine.Workspaces(0).OpenDatabase(strPfad)
Set rsKunden = dbRemote.OpenRecordset("info_kunden", dbOpenDynaset)
rsKunden.MoveLast
rsKunden.MoveFirst
MsgBox rsKunden.RecordCount
Ich habe dieses Codefragment (und auch andere, die auch irgendwie nicht funktionieren) irgendwo aus einem Tutorial entnommen.
Weil ich will kapieren, wie eine Verbindung zu einer Datenbank mit Möglichkeiten der Suche nach Daten in ihr sowie der Eingabe von Daten in die Datenbank funktioniert, aber ich schaffs einfach nicht.
Aber das kann doch nicht so schwer sein !
wenn ich das in excel ausführe, kommt die Fehlermeldung: "Fehler beim kompilieren, benutzerdefinierter Typ nicht definiert"
(Debugger markiert "Dim rsKunden As DAO.Recordset")
Ich hab Office 2002 mit word, excel, access usw auf win ME installiert. Kennt excel 2002 diese Typen nicht, oder was mach ich falsch ?
Bitte helft mir
Gruss, Vielfrager
Hi,
Ich hab Office 2002 mit word, excel, access usw auf win ME installiert. Kennt excel 2002 diese Typen nicht, oder was mach ich falsch ?
nun hinter diesen "Typen" verbergen sich DLLs, die manchmal eben explizit eingebunden werden muessen. Schau mal nach ob Du da irgendwelche Verweise auf M$ DAO setzen kannst. Unter "Projekteigenschaften".
Gruss,
Ludger
Wo ist das, im vba-Editor oder in excel?
(Ich kriege häufiger - in anderen Anwendungen - Fehlermeldungen a la "xyz verursachte einen Fehler in abc.dll, xyz wird geschlossen"
Das ist seitdem mein Computer mal abgestürtzt ist. Ist da bei Windows irgendwas kaputt? kann ich das reparieren? was sind .dll- dateien?
Hi,
Wo ist das, im vba-Editor oder in excel?
(Ich kriege häufiger - in anderen Anwendungen - Fehlermeldungen a la "xyz verursachte einen Fehler in abc.dll, xyz wird geschlossen"
Das ist seitdem mein Computer mal abgestürtzt ist. Ist da bei Windows irgendwas kaputt? kann ich das reparieren? was sind .dll- dateien?
->M$ Excel->Alt+F11->Extras->Verweise->M$ DAO hinzufuegen
Fehlermeldungen wie die o.g. kommen haeufig von fehlerhaft arbeitenden Treibern. Du kriegst den Suender ja gemeldet, also kannst Du die Fehlerursache analysieren und entsprechende Massnahmen (Rechner wegwerfen z.B.) ergreifen.
Gruss,
Ludger
(vielfrager beisst sich in den A...)
Danke für den Tipp.
In dieser Liste stehen ungefähr 120 verschiedene dings drinnen, davon 4 markiert. Sollte ich einfach mal alle markieren, damit alle zur Verfügung stehen? Oder mache ich dann was kaputt?
gruss vielfrager
habe mal M$ DAO 3.6 aktiviert, jetzt scheint es zu funzen..
sind das verweise auf sogenannte DLLs?
gruss vielfrager
Hi,
sind das verweise auf sogenannte DLLs?
indirekt. Es sind Verweise auf COM-Objekte. Und die sind meist als DLLs realisiert, müssen aber nicht.
Gruß,
Martin
Danke nochmal. Das ist alles so schwer...
folgendes Codefragment funktioniert jetzt
sub öffnedieDatenbankoderstirb()
Dim Db As Database
Dim Tb As Recordset
Set Db = OpenDatabase("C:\daten\irgendeinedatenbank.mdb")
Set Tb = Db.OpenRecordset("info_kunden", dbOpenDynaset)
datensatz_value = Tb!Nachname
MsgBox (datensatz_value)
End Sub
...zeigt das erste Element der Spalte "Nachname" an. Wie kann ich auf eine andere Spalte zugreifen?
Gruss, Vielfrager
Quatsch, nicht auf eine andere Spalte, sondern auf ein anderes Element in derselben Spalte (z.b. das fünfte von oben in der Spalte "Nachname")
gruss vielfrager
Hallo vielfrager,
Quatsch, nicht auf eine andere Spalte, sondern auf ein anderes Element in derselben Spalte (z.b. das fünfte von oben in der Spalte "Nachname")
Dein aktueller Datensatz ist der erste Datensatz.
Dein Zieldatensatz ist der fünfte Datensatz.
Nach Adam Riese musst Du Dich vier Datensätze weiterbewegen.
Mit folgendem Codefragment solltest Du das hinkriegen.
i = 0
While (i < 4)
Tb.MoveNext ' Gehe zum nächsten Datensatz
i = i + 1 ' Erhöhe den Zähler um 1
Wend
Selbstverständlich gehört da noch eine Abfrage dazu, dass Du nicht schon das Ende des Recordsets erreicht hast ...
Freundliche Grüsse,
Vinzenz
Hi,
Nach Adam Riese musst Du Dich vier Datensätze weiterbewegen.
wer war denn Adam Riese?
;-)
Viele Grüße
Jörg
Hallo Jörg,
wer war denn Adam Riese?
selbst innerhalb der letzten 50 Jahre wurde mein Familienname auf diversen Grabsteinen von Verwandten unterschiedlich geschrieben - da nehme ich mir die Freiheit, den Familiennamen Deines Verwandten ebenfalls unterschiedlich zu schreiben :-)
<ausrede type="an_den_Haaren_herbeigezogen">
nach mit veralteter Dativform von Ries, dem Riese :-)
</anmerkung>
Freundliche Grüsse,
Vinzenz
Hi Vinzenz,
selbst innerhalb der letzten 50 Jahre wurde mein Familienname auf diversen Grabsteinen von Verwandten unterschiedlich geschrieben - da nehme ich mir die Freiheit, den Familiennamen Deines Verwandten ebenfalls unterschiedlich zu schreiben :-)
Das ist ja schon fast makaber.
<ausrede type="an_den_Haaren_herbeigezogen">
nach mit veralteter Dativform von Ries, dem Riese :-)
</anmerkung>
*g* Bevor ich diesen Zettel (ich war ziemlich überrascht) bekam, war ich auch immer der Meinung, daß der Name Adam Riese wäre. Aber den gibt es ja auch wirklich: http://www.adamriese.info/
;-)
Viele Grüße
Jörg
vielen Dank Vinzenz für die Antwort und danke Jörg für eine neue Nachschlageseite :-)
vielfrager