Access-Problem

  • #1
W

wolf33

Bekanntes Mitglied
Themenersteller
Dabei seit
09.08.2007
Beiträge
78
Reaktionspunkte
0
Ort
Baden / Schweiz
Hallo ACCESS-Gemeinde

Ich hatte auf meinem alten XP-System Vaio VGC-V2m eine ziemlich komplexe Anwendung mit Off. prof. for XP de als Update auf Off. prof. 1997 de entwickelt. Lief perfect bis der Vaio schlagartig das Zeitliche segnete. :mad:

Auf dem neuen HP-Notebook mit Vista konnte ich Off. prof. 1997 de nicht mehr installieren. Vermutlich wegen der Vorinstallation der 60-Tage Version von Office home for Student 2007, die sich leider nicht Deinstallieren lässt. Ich habe aber noch eine vollständige englische Version Off. prof. for XP with Frontpage (2002) in petto, die ich problemlos installieren und für kleinere Sachen benützen konnte. Meine grosse Anwendung wurde mit Accessruntime 2007 de zusammengelinkt und an Anwender ohne MS-Office-Lizenz verteilt.

Nun musste ich einige Kleinigkeiten im VBA-Code ändern. Sie wurden vom Compiler problemlos als korrekt akzeptiert, aber seit dem Speichern der DB ist der Teufel los. Der Versuch, die Anwendung zu starten, führt schon vor dem/beim Öffnen des Eingangs-Form zu folgender kryptischen FM:

The expression on Open you entered as the event property setting produced the following error. Object or class does not support the set of events.
*The expression may not result in the name of an macro, the name of an user-defined function, or [Event-Procedure]


An dem folgenden Code des Eingang-Forms, das die Anwendung quasi steuert, wurde NICHTS geändert:

[color=[color=navy][size=8pt]Option Compare Database
Option Explicit

Const SW_HIDE = 0 -> Fenster ausblenden
Const SW_NORMAL = 1 -> Fenster wiederherstellen bzw. einblenden

Private Declare Function ShowWindow Lib user32 _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Sub Doku01_Click()

Dokuname = Dokumentation01
Call Doku

End Sub

Private Sub EMail_Click()

On Error GoTo Err_EMail_Click

Dim stAppName As String

stAppName = C:\Programme\Outlook Express\MSIMN.EXE
Call Shell(stAppName, 1)

Exit_EMail_Click:
Exit Sub

Err_EMail_Click:
MsgBox Err.Description
Resume Exit_EMail_Click

End Sub

Private Sub Form_Activate()

Dim hWindow, nResult, nCmdShow As Long

hWindow = Application.hWndAccessApp
nCmdShow = SW_HIDE
nResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)
DoCmd.Maximize

End Sub

Private Sub Form_Load()

Dim p As Recordset, Kriterium As String, J As Integer, Fr As String
Dim Art As String

AllowQuit = False -> Sperre des Verlassens von ACCESS aktivieren
KonsPrüfung -> Konsistenzprüfung
ShortcutMenu = False -> Ausschalten des Menues rechte Maustaste

' Hardware-Status feststellen
' Freischaltung der Reservation

Kriterium = Select DatenName,PW3, Hardware from Installation

Set DB = CurrentDb
Set p = DB.OpenRecordset(Kriterium)
Applogo = p![DatenName] & .png
Hardware = p![Hardware]
If Not IsNull(p![PW3]) Then
Fr = p![PW3]
Else
Fr = soschongarnicht
End If
p.Close

For J = 1 To Me.Controls.Count - 1
With Me.Controls(J)
Select Case .ControlType
Case acCommandButton
Art = Trim(.Name)
If Art = Reservation Then
If Fr = istgratiszuhaben Then
Controls(J).Visible = True
Else
Controls(J).Visible = False
End If
End If
Case Else
End Select
End With
Next J

End Sub

Private Sub Form_Open(Cancel As Integer)

Me.Picture = Application.CurrentProject.Path & \ & Mainpicture.jpg

End Sub

Private Sub Form_Unload(Cancel As Integer)

If AllowQuit <> True Then Cancel = True

End Sub

Private Sub Internet_Click()

On Error GoTo Err_Internet_Click

Dim stAppName As String

stAppName = C:\Programme\Internet Explorer\IEXPLORE.EXE
Call Shell(stAppName, 1)

Exit_Internet_Click:
Exit Sub

Err_Internet_Click:
MsgBox Err.Description
Resume Exit_Internet_Click

End Sub

Private Sub Rapport_Click()

Forms![Eingang].Form.Visible = False
Me.Form.Visible = False
DoCmd.OpenReport Rapport, acViewPreview
DoCmd.SelectObject acReport, Rapport, False
DoCmd.Maximize

End Sub

Private Sub Stop_Click()

Dim mess, stil As String

Set DB = CurrentDb
stil = vbYesNo + vbQuestion + vbDefaultButton1
mess = Programm beenden?
DB.Execute delete * from Personen where Len(Ltrim(Zuname)) = 0;
If MsgBox(mess, stil, Applikation beenden) = vbYes Then
mess = Wenn Sie JA bestätigen, erfolgt eine Datensicherung & Chr(10) _
& auf den Wechseldatenträger. & Chr(10) & Chr(10) _
& Bei NEIN wird keine Datensicherung durchgeführt.
If MsgBox(mess, stil, Datensicherung) = vbNo Then
DoCmd.Quit
Fehler = 0
End If
Call dbSave(Fehler)

' Fehler = 2 ist Stick nicht vorhanden Vorgang wiederholen

If Fehler = 2 Then Exit Sub
If Fehler > 100 Then
mess = Die Datensicherung konnte NICHT durchgeführt werden! & Chr(10) & Chr(10) _
& Wollen Sie nach der Überprüfung des Wechseldatenträgers & Chr(10) _
& nochmals die automatische Datensicherung durchführen? & Chr(10) & Chr(10) _
& Drücke Ja-Knopf um in das Hauptmenue zurück zu kehren! & Chr(10) _
& Drücke Nein-Knopf um das Programm zu verlassen!
stil = vbYesNo + vbCritical + vbDefaultButton1
DoCmd.Beep
If MsgBox(mess, stil, Datensicherung) = vbYes Then Exit Sub
End If
AllowQuit = True
DoCmd.Quit
End If
End Sub,
[/size][/color]

Ich bin völlig ratlos, wo ich das Fehlverhalten lokalisieren soll, hat Jemand eine Idee?
Möglicherweise beissen sich die Versionen 2002 Englisch mit 2007 Runtime Deutsch. Ich habe keinen Bock darauf,
als kleiner Entwickler MS eine weitere Vollversion Office 2007 de abzukaufen. :'(
 
  • #2
wolf33 schrieb:
The expression on Open you entered as the event property setting produced the following error. Object or class does not support the set of events.
*The expression may not result in the name of an macro, the name of an user-defined function, or [Event-Procedure]
Das Problem wurde auch im Forum: http://www.access-o-mania.de/forum/index.php?topic=10728.0
gepostet und dank Hinweis des dort residierenden Access-Gottes erfolgreich behoben. :)
 
Thema:

Access-Problem

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben