Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
WIE überprüfe ich die initialisierung von Variablen ???
zurück: Text im ungebundenen Eingabefeld nicht mehr sichtbar weiter: DataEntry Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
GAST_0999
Gast


Verfasst am:
12. Mai 2009, 10:27
Rufname:

WIE überprüfe ich die initialisierung von Variablen ??? - WIE überprüfe ich die initialisierung von Variablen ???

Nach oben
       Version: Office 2003

hallo an alle ,
ich habe 2 Tables

1 Table. globalen Variable die die Form betreffen s. Code unten
2 Table. in dem sind die globalen Variablen für die Preference gespeichert

die Variablen sollten beim ersten Aufruf des Programmes gestartet werden... was auch problemlos geht

.... nun tauchte aber folgendes Problem auf ..... bei einem Fehler gehen alle globalen Variablen verloren und die entsprechenden Felder der FORM sind bei der Fortsetzung des Programmes leer(gehen verloren).... z.B. Versions Nr. die in der PARA_01 liegt...

Deshalb kam ich also auf die Idee jedesmal beim Ereignis FORM OPEN zu Prüfen ob eine der den Tables vorhanden (initialisiert) ist... bei einem STRING ist es kein
Problem da kann man es mit 0 abfragen s. code..... das funktioniert auch.... aber bei NUMERIC(ZAHL) gehts schon nicht mehr..... den bei der Zahl ist es immer 0 auch wenn sie nicht initialisiert ist.... s. 2te codezeile da springt er dann immer in die FUNCTION
Code:
'****** ---->>> Execute on first CALL or ERROR Program
'
' ----->>> INIT GLOBAL VARs FIRST CALL  or  ERROR
'
    If g_aktueller_Form_Header = 0 Then _
        Do_Fkt = fkt_Init_Start_1_General()                           'INITs _
                          ALL GlobalVARs used in FORMs stored in  "_Para_01" _
          --> e.g. VAR g_aktueller_Form_Header = 0(TYPE STRING)... IS INIT ???
'
    If IsNull(g_int_Druck_Preis) Then _
        Do_Fkt = fkt_Init_Start_2_Pref()                             ' INITs _
                ALL GlobalVARs used in frm_Preferences stored in  "_Para_02" _
                              --> e.g. VAR g_int_Druck_Preis = 0(TYPE INTEGER)
WIE sieht das aber bei einer VARIABLEN vom TYP:
- DATUM
- INTEGER
- BOOLEAN
aus

wer hat sich schon mal mit dem Probllem beschäftigt.. bin für jeden Vorschlag dankbar
KlausMz
Moderator Access


Verfasst am:
12. Mai 2009, 10:36
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: WIE überprüfe ich die initialisierung von Variablen ??? - AW: WIE überprüfe ich die initialisierung von Variablen ???

Nach oben
       Version: Office 2003

Hallo,
Zitat:
.... nun tauchte aber folgendes Problem auf ..... bei einem Fehler gehen alle globalen Variablen verloren und die
Das ist schon mal ein grundlegender Fehler.
Die Inhalte gehen nur verloren, wenn eine Sub oder Funktion keine Fehlerbehandlung hat. Daher ist es notwendig ausnahmslos Fehlerbehandlungen zu programmieren, dann kommt das erst gar nicht vor.

Wenn auf Grund der fehlenden Fehlerbehandlung eine Variable den Wert verliert, trifft das ja auf alle zu.
Also könnte es genügen, eine einzige Variable auf den korrekten Inhalt zu prüfen.
Etwa so:
Code:
    If VariableSowieso = "ABC" Then
        MsgBox "Alles da"
      Else
        ' neu laden
    End If
Ich würde sowieso keine globalen Variablen nehmen, sondern mit DLookup() den Wert erst wenn er gebraucht wird direkt aus der Tabelle lesen.
_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
GAST_0999
Gast


Verfasst am:
12. Mai 2009, 11:02
Rufname:

AW: WIE überprüfe ich die initialisierung von Variablen ??? - AW: WIE überprüfe ich die initialisierung von Variablen ???

Nach oben
       Version: Office 2003

DANKE für deine rasche Antwort KLAUS................

- Du hast natürlich recht....... bei einer routinemässigen Fehlerbehandlung in den subs oder functions wäre das BASIS Problem behoben.....

- Die überlegung mit DLOOKUP ist im Prinzip sehr gut.... löst aber das Problem nicht so ganz, wie ich meine, da es sich immer auf einen definierten Zustand bezieht... und der kann sich ja FALLWEISE ändern.... in der Definition darf die Angabe des Kriterium ja nich Fehlen oder Falsch sein ansonsten wirds NULL.......... oder hab ich da einen Denkfehler .... siehst du denn da eine Möglichkeit das Kriterium so zu setzen, dass er immer die Felder des ersten Datensatzes ausliest
KlausMz
Moderator Access


Verfasst am:
12. Mai 2009, 11:15
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: WIE überprüfe ich die initialisierung von Variablen ??? - AW: WIE überprüfe ich die initialisierung von Variablen ???

Nach oben
       Version: Office 2003

Hallo,
Zitat:
siehst du denn da eine Möglichkeit das Kriterium so zu setzen, dass er immer die Felder des ersten Datensatzes ausliest
Wenn die tabelle einen Autowert hat, ist der niederste Autowert der erste Datensatz. Mit der absoluten Position eines Datensatzes würde ich nicht arbeiten, da diese nicht zuverlässig immer den gleichen Datensatz hat. Aber Autowert (oder Datum) sollte doch als Kriterium reichen.
_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
GAST_0999
Gast


Verfasst am:
12. Mai 2009, 11:40
Rufname:


AW: WIE überprüfe ich die initialisierung von Variablen ??? - AW: WIE überprüfe ich die initialisierung von Variablen ???

Nach oben
       Version: Office 2003

DANKE........ das mit dem AUTOWERT hat mich auf eine andere IDEE gebracht.....


- meine Lösung wird sein ein DUMMY FELD TYP STRING in die beiden Tabels zu setzen und dann diese auf 0 in einer gobalen VAR abzufragen....

dann hab ich den definierten Zustand ob die globalen VARs initialisiert sind und kann diese dann auch in einer ON ERROR Function einbauen.... lol... manchmal hilfts wenn ein ander den Wald beiseite schiebt.........

nochmals vielen Dank
KlausMz
Moderator Access


Verfasst am:
12. Mai 2009, 11:49
Rufname:
Wohnort: Irgendwo in der Pfalz

Re: AW: WIE überprüfe ich die initialisierung von Variablen - Re: AW: WIE überprüfe ich die initialisierung von Variablen

Nach oben
       Version: Office 2003

Hallo,
dann kannst Du es auch gleich so machen:
KlausMz - 12. Mai 2009, 10:36 hat folgendes geschrieben:
Also könnte es genügen, eine einzige Variable auf den korrekten Inhalt zu prüfen.
Etwa so:
Code:
    If VariableSowieso = "ABC" Then
        MsgBox "Alles da"
      Else
        ' neu laden
    End If

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
GAST_0999
Gast


Verfasst am:
12. Mai 2009, 12:14
Rufname:

AW: WIE überprüfe ich die initialisierung von Variablen ??? - AW: WIE überprüfe ich die initialisierung von Variablen ???

Nach oben
       Version: Office 2003

genau........ das mach ich ja auch schon s. code oben (beide abgefragten VARS sind Bestandteil der beiden Tables) .... mir fehlte eigentlich nur noch die Überlegung wie mach ichs wenn kein STRING in dem TABLE ist..... deswegen auch die Überlegung wie erreiche ich im 2. TABLE eine überprüfbare feste DEFINITION ===> folgt in beide ein DUMMY FELD... man wiess ja nie ob sich die TABLE DEFINITION dahingehend ändert und auch im 1. table kein STRING mehr vorhanden ist und dann müsste ich so oder so einen DUMMY einführen und müsste nachträglich nochmal den ganzen code an der ON ERROR FUNCTION ändern.... genau dass spar ich mir, indem ich in dem 1. Table auch einen DUMMY setze.....

nochmals danke für deine Hilfe.... es ist licht geworden......
KlausMz
Moderator Access


Verfasst am:
12. Mai 2009, 12:19
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: WIE überprüfe ich die initialisierung von Variablen ??? - AW: WIE überprüfe ich die initialisierung von Variablen ???

Nach oben
       Version: Office 2003

Hallo,
ich glaube Du hast noch nicht ganz verstanden was ich meine. Es genügt die Prüfung einer einzigen Variablen. Wenn kein String, dann halt auf Zahl prüfen.
Wenn eine Variable gefüllt sind, sind alle gefüllt, die Prüfung der Restlichen kannst Du Dir sparen.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
GAST_0999
Gast


Verfasst am:
12. Mai 2009, 12:40
Rufname:

AW: WIE überprüfe ich die initialisierung von Variablen ??? - AW: WIE überprüfe ich die initialisierung von Variablen ???

Nach oben
       Version: Office 2003

vielleicht is das ein bischen missverständlich von mir definiert worden.... wir reden schon vom selben


DUMMY 1 = TABLE 1 = g_aktueller_Form_Header(TYP STRING) is nur EIN FELD in PARA_01
Code:
    If g_aktueller_Form_Header = 0 Then _
        Do_Fkt = fkt_Init_Start_1_General()                          ' INITs _
                          ALL GlobalVARs used in FORMs stored in  "_Para_01" _
DUMMY 2 (wird nun auch als STRING definiert) = TABLE 2 = g_int_Druck_Preis(ALT TYP INTEGER) is nur EIN FELD in PARA_02
Code:
    If IsNull(g_int_Druck_Preis) Then _
        Do_Fkt = fkt_Init_Start_2_Pref()                             ' INITs _
                ALL GlobalVARs used in frm_Preferences stored in  "_Para_02" _

DER NEUE CODE SCHAUT SO AUS
Code:
    '****** ---->>> Execute on first CALL or ERROR Program
    '
    ' ----->>> INIT GLOBAL VARs FIRST CALL  or  ERROR
    '
    If g_str_DUMMY_1 = 0 Then _
        Do_Fkt = fkt_Init_Start_1_General()                          ' INITs _
                          ALL GlobalVARs used in FORMs stored in  "_Para_01" _
          --> e.g. VAR g_aktueller_Form_Header = 0(TYPE STRING)... IS INIT ???
    '
    If g_str_DUMMY_2 = 0 Then _
        Do_Fkt = fkt_Init_Start_2_Pref()                             ' INITs _
                ALL GlobalVARs used in frm_Preferences stored in  "_Para_02" _
                              --> e.g. VAR g_int_Druck_Preis = 0(TYPE INTEGER)
    '------  str_DUMMY_1 = DUMMY is stored in the table _PARA_01 as a STRING _
                                         dto. str_DUMMY_2 in table _Para_02...

Nachtrag: GAST_0999 am 12. Mai 2009 um 12:48 hat folgendes geschrieben:
hmmmmmm vielleicht verwirrt "ein FELD" ..... besser wäre vielleicht EIN FELD EINES der FELDER in _PARA_0x........ d.h. es sin natürlich noch andere FELDER in den TABELS enthalten
KlausMz
Moderator Access


Verfasst am:
12. Mai 2009, 13:18
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: WIE überprüfe ich die initialisierung von Variablen ??? - AW: WIE überprüfe ich die initialisierung von Variablen ???

Nach oben
       Version: Office 2003

Hallo,
das spielt doch alles keine Rolle. Wenn durch einen Fehler globale Variablen verloren gehen, gehen alle verloren, es genügt also die Prüfung irgendeiner Variablen. Wenn deren Wert vorhanden ist, sind alle anderen Werte auch da, völlig unabhängig von den verwendetetn Tabellen.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen auf Tabellen mit Variablen Namen 2 NicoB 103 14. Nov 2013, 16:00
NicoB Abfragen auf Tabellen mit Variablen Namen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage aus Abfrage mit Variablen 2 Timmek 195 29. Jun 2012, 07:48
Timmek Abfrage aus Abfrage mit Variablen
Keine neuen Beiträge Access Tabellen & Abfragen: Access: variablen Kriteriumswert an Abfrage übergeben 3 Andreas28 694 14. Mai 2012, 09:43
JMalberg Access: variablen Kriteriumswert an Abfrage übergeben
Keine neuen Beiträge Access Tabellen & Abfragen: Preisermittlung mit mehreren Variablen 2 PCDummy 191 11. Mai 2011, 09:41
pc dummy Preisermittlung mit mehreren Variablen
Keine neuen Beiträge Access Tabellen & Abfragen: Variablen im SQL-Befehl 6 StefanW 1502 25. Okt 2010, 17:10
StefanW Variablen im SQL-Befehl
Keine neuen Beiträge Access Formulare: sehr viele Variablen in Formular unterbringen 14 Waldo78 294 19. Mai 2010, 11:25
Waldo78 sehr viele Variablen in Formular unterbringen
Keine neuen Beiträge Access Tabellen & Abfragen: Überschreiben sich Variablen bei gleichzeitigen Nutzern? 2 tiger17 290 03. Feb 2010, 13:51
trekking Überschreiben sich Variablen bei gleichzeitigen Nutzern?
Keine neuen Beiträge Access Formulare: Variablen übergeben und danach suchen 2 Gast 284 26. Mai 2009, 07:46
Marmeladenglas Variablen übergeben und danach suchen
Keine neuen Beiträge Access Tabellen & Abfragen: VBA bei (Union)Abfrage mit Variablen Kriterium 1 PatrickB 494 14. Mai 2009, 11:33
Gast VBA bei (Union)Abfrage mit Variablen Kriterium
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle aus 3 Variablen erstellen 4 ruthi 380 19. Nov 2008, 21:28
ruthi Tabelle aus 3 Variablen erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage in csv exportieren mit variablen Dateinamen 2 hikx76 2928 15. Okt 2008, 11:47
hikx76 Abfrage in csv exportieren mit variablen Dateinamen
Keine neuen Beiträge Access Tabellen & Abfragen: Variablen Dateinamen einlesen 0 Gast 483 24. Sep 2008, 08:36
Gast Variablen Dateinamen einlesen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web