Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

VBA Code läuft nicht unter Runtime

Begonnen von exodus, Oktober 05, 2010, 12:20:57

⏪ vorheriges - nächstes ⏩

exodus

Hallo ihr Experten,

ich habe folgenden Code in VBA, läuft unter Access00 einwandfrei, aber unter der Runtime tut sich nichts.
Kann mir da jemand helfen?

Private Sub Kombinationsfeld96_AfterUpdate()
Me.tZeit0800 = Me.Kombinationsfeld96.Column(1) & " " & Me.Kombinationsfeld96.Column(2)
End Sub

und :

Private Sub tZeit1140_DblClick(Cancel As Integer)
Me.tZeit1140 = Null
End Sub

Vielen Dank schon einmal
Markus

database

#1
Hallo,


wenn die Felder so heißen wie im Code ersichtlich sollte das schon laufen.
Hast mal versucht einen Haltepunkt auf die betreffenden Subs zu setzen und nachzusehen, ob die überhaupt angesprungen werden?
Eventuell auch kontrollieren ob alle Verweise (Extras ... Verweise im VBA) in Ordnung sind.

Ich kann leider nichts Runtime-mäßig nachstellen aber der Code sieht nicht fehlerhaft aus.

exodus

Zitat von: exodus am Oktober 05, 2010, 12:20:57
Hallo ihr Experten,

ich habe folgenden Code in VBA, läuft unter Access00 einwandfrei, aber unter der Runtime tut sich nichts.
Kann mir da jemand helfen?

Private Sub Kombinationsfeld96_AfterUpdate()
Me.tZeit0800 = Me.Kombinationsfeld96.Column(1) & " " & Me.Kombinationsfeld96.Column(2)
End Sub

Hätte es fast vergessen: Es wird nur Column(1) angezeigt und gespeichert !

und :

Private Sub tZeit1140_DblClick(Cancel As Integer)
Me.tZeit1140 = Null
End Sub

Vielen Dank schon einmal
Markus

DF6GL

Hallo,


unklar wo Dein Problem liegt...

Tut sich nun was oder nicht?

Was genau tut und was genau tut nicht?

Hast Du die Prozeduren per Einzelschritt (in der MDB) durchlaufen, bzw. in der MDE mal ein paar Msgboxen zur Ausgabe der Variablenwerte benutzt?


Ist das Kombi überhaupt richtig eingestellt:

Spaltenanzahl: 3




database

Kann mich da Franz nur anschließen ...

Wenn du die Spalten 1 und 2 aus dem Kombi lesen willst muss dieses 3 Spalten haben (die Nummerierung beginnt bei 0)
Die 3 Spalten müssen dann natürlich auch in der Datenherkunft vorhanden sein!

Kann das Feld tZeit0800 überhaupt einen zusammengesetzten TEXT aufnehmen - hast du da vielleicht ein Eingabeformat definiert (Zeit)

Kann das Feld tZeit1140 überhaupt den Wert NULL annehmen?

Bekommst du keine Fehlermeldungen? (was mich überrascht, wenn etwas nicht funktioniert)

Fragen über Fragen ....    ;D


exodus

Hallo und Danke schon einmal für die schnellen Antworten. :)

Leider bin ich noch nicht so fit in Sachen Access und VBA, daher bitte etwas Nachsicht.  ;)

Das komische ist ja, wenn ich die Datenbank mit Access starte, läuft alles einwandfrei und funktioniert auch.
Nur wenn ich sie mit der Runtime starte, funktioniert das löschen des Feldinhaltes per Doppelklick nicht.
Das Kombi zeigt mir meine Felder alle an, nur unter der Runtime wird halt nur Colimn(1) gespeichert starte ich mit Access werden beide Einträge gespeichert. Das Kombi gibt mir 3 Felder vor, von denen ich aber nur 2 (Column1 und Column2) speichern möchte.

DF6GL

Hallo,

dann beantworte bitte diese Fragen:

Welche Runtime-Version benutzt Du ? (Deine DB-Version ist A2000)

Ist die DB mit A2000 im VBA-Editor ohne Fehler kompiliert worden?

Sind die Verweise alle i. O.?  (VBA-Editor, Extras/Verweise)

Steht in JEDEM (Formular/Bericht- UND Standardmodul)  Modulkopf   OPTION EXPLICIT drin?

Sind (mindestens) in den betroffenen Prozeduren Error-Handler-Codes eingebaut?

Ist die Runtime parallel zu MSO2000 installiert, bzw. wie sieht die Rechner-Umgebung  hier aus?

Hast Du wie vorher vorgeschlagen, die Msgboxen testweise eingebaut?


exodus

Hallo DF6GL und database,

ersteinmal vielen Dank, dass ihr euch die Mühe machr mir zu helfen.
DF6GL ich habe die Runtime 2000 und benutze sie parallel zu Access2000.

Inzwischen habe ich mir die Runtime2007 und die aktuelle 2010 runtergeladen und siehe da, unter diesen Runtime´s läuft die Anwendung so wie ich es möchte.

Wenn ihr eine Idee habt, warum es unter der 2000er nicht läuft, wie gesagt ich bin noch Anfänger und daher gerne für Info´s dankbar.
Ansonsten, komme ich so jetzt erstmal weiter.

DF6GL habe die Verweise überprüft, aber als Anfänger weiss ich ehrlich gesagt nicht, wie ich da vorgehen muß, vielleicht könntest du mir hier noch eine kurze Erklärung geben.
OPTION EXPLICIT habe ich überall drin stehen.
Error-Handler-Codes ? Da muß ich mich noch schlau machen, wie man das macht  ???

Also ansonsten Vielen Dank

DF6GL

Hallo,

ich weiß nur, dass A2000 etwas buggy in mancher Hinsicht ist.  Ob der Effekt auch ein Bug oder ein Feature ist, kann ich nicht sagen...

Wenn Du die Verweise geprüft hast, dann weißt Du doch , wie man vorgeht  ???

Im VBA-Editor gibt es unter Menüleiste/Extras/Verweise eine Liste, in der alle benutzten ext. "Programmdateien" (will ich mal so nennen) angehakt sind. Gibt es ein Problem an einer Stelle, steht da eine Fehelrmeldung.


Ein Error-Handler ist lediglich Code, der Laufzeitfehler-Situationen abfangen kann.


Erstell mal einen Button mit aktivem Assistenten und schau Dir die produzierte Prozedur an. da steht in etwa solches:



Private Sub  BlahBla()
On Error goto Errormarke

.
.
.

ExitMySub:
Exit Sub

Errormarke:
Msgbox Err.number & " " & Err.Description
Resume ExitMySub
End Sub

exodus

Hallo DF6GL,

das mit den Verweisen habe ich ja auch gemacht. Da aber nichts weiter angezeigt wurde (also keine Fehlermeldungen) und ich wie gesagt noch Anfänger bin, war ich mir nicht ganz sicher ob ich da noch mehr tun muss.

Ich danke dir auf jeden Fall für die Unterstützung.

DF6GL

#10
Ja, ok,  


mehr muß man (in Deinem Fall) nicht tun.



Empfehle, auf mindestens MSO2003prof upzugraden.


Viel Erfolg.