Member
Beiträge: 46
| Hallo NG,
ich habe eine Anwendung in Access 2007, die in der runtime-umgebung sowohl unter Win7 als auch unter Win8 ein Feld nicht aktualisiert.
Dieses Feld befindet sich auf einen Unterformular, das als Liste mehrere Datensätze anzeigt. Ein Feld ist, ensprechend dem "Trick" von G. Ritter zu verschiedenfarbigen Darstellung doppelt angelegt. Die beiden Felder haben als Steuerelementinhalt =getColor(1) und =getColor(2). Die Funktion getColor hat folgenden Code:
Function getColor(A As Long) As String
Dim str_fehler As String, str_d As String, str_c As String
str_fehler = ""
str_d = Left$(Me!depth, 1)
str_c = Left$(Me!charcot, 1)
If str_d = "z" And str_c = "n" Then
If A = 1 Then getColor = "Prophylaxe" Else getColor = ""
Else
If A = 2 Then getColor = "Behandlung" Else getColor = ""
End If
If Err > 0 Then str_fehler = str_fehler & " getcolor: " & Error$
If str_fehler <> "" Then Call flrtrg(str_fehler)
Call flrtrg(CStr(A) & "; " & str_d & "; " & str_c & "; " & getColor)
End Function
Die letzte Zeile schreibt die Variablen in eine Logtabelle, die vorletzte schreibt evtl. Fehler in diese Logtabelle. Damit habe ich versucht, einen Fehler aufzuspüren, der in der Runtime-Umgebung auftritt.
Diese Funktion funktioniert auf meinem Entwicklungsrechner und auch auf einem 2. Rechner, beide mit Win 7 und Access 2007 als Vollversion. Auch die .accde - Datei läuft auf diesen beiden Rechnern fehlerlos. In der Logtabelle finden sich alle Aufrufe der Funktion wieder. Unter Access 2007 Runtime funktioniert die Funktion nicht, weil sie anscheinend garnicht aufgerufen wird. Die Logtabelle bleibt leer, es werden auch keine Fehler gemeldet. In den Feldern sieht man den Eintrag #Name?.
Ich habe buttons auf dem Formular plaziert, die Aktionen aufrufen sollen, die zu einer Neuberechnung dieser beiden Felder führen sollen und das in der Vollversion tun, in der Runtime aber nicht:
Me![Eingebettet92].Form![Text136].Requery
Me![Eingebettet92].Form![Text135].Requery
Me![Eingebettet92].Requery
DoCmd.Requery "Eingebettet92"
Me![Eingebettet92].SetFocus
DoCmd.Requery "Text135"
DoCmd.Requery "Text136"
Jetzt bin ich mit meinem Latein am Ende und wäre für Hilfe sehr froh.
Euer DH
Edited by hochlenert 20.06.14 22:41
|