Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
globale Variablen in Schleife auslesen
zurück: Zahlen nach Excel-Export Runden weiter: Zeilenumbruch in generierter mail Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Rückfrage Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
mbm1968
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Nov 2007, 13:05
Rufname: Mike

globale Variablen in Schleife auslesen - globale Variablen in Schleife auslesen

Nach oben
       Version: Office XP (2002)

Hallo zusammen.

Habe ein kleines Problem:

Ich lese in einem Formular einen Datensatz via VBA ein und speichere ihn in globalen Variablen.
Code:
Global X(1 To 10) As String
Global Y(1 To 10) As String
   
    '...
    X9 = rs!Ab_9
    X10 = rs!Ab_10
    Y1 = rs!spielt1
    Y2 = rs!spielt2
    '.etc
Wenn ich denn Code anhalte, sind die Variablen auch gefüllt.

Lasse ich mir nun im weiteren Verlauf zB MsgBox (X9) anzeigen, so steht da der Inhalt der Variablen.

So weit so gut.

Jetzt kommt das Problem:
Code:
    For z = 1 To 10
        If "Y" & z = "s" Then
            sp1 = 1
          Else
            sp1 = 0
        End If
        spGes = spGes + sp1
    Next x
Nun will ich die Variable Y über eine Schleife auslesen und den Inhalt entsprechend auswerten. Die Schleife wird auch durchlaufen. Allerdings ergibt
"Y" & z nicht wie erwartet Y1 etc und vergleicht den Inhalt. Sondern es passiert gar nichts.

Wie kann ich nun den Inhalt der globalen Variable weiterverarbeiten?

PS: Die globalen Variablen sind in einem extra Module "globale Variablen" gespeichert.

Gruß

_________________
Mike
Nouba
nicht ganz unwissend :)


Verfasst am:
25. Nov 2007, 13:36
Rufname:
Wohnort: Berlin


AW: globale Variablen in Schleife auslesen - AW: globale Variablen in Schleife auslesen

Nach oben
       Version: Office XP (2002)

Hallo,

Deine Datenform (das habe ich an anderer Stelle auch schon einmal erwähnt) lässt keine Freude beim Auswerten aufkommen. Access ist weder Excel, noch spielt man mit Tabellen Schiffe versenken. Du solltest Dir zunächst ein ordentliches Datenmodell aufsetzen, bevor auch nur eine Zeile Kode programmiert wird. Sad Mit ausreichendem Hintergrundwissen zur Aufgabenstellung hilft Dir bestimmt jemand dabei hier im Forum.

Zur Fragestellung: Datenfelder werden über den Index angesprochen If Y(z) = "s" Then.

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
mbm1968
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Nov 2007, 15:48
Rufname: Mike

AW: globale Variablen in Schleife auslesen - AW: globale Variablen in Schleife auslesen

Nach oben
       Version: Office XP (2002)

Hallo Nouba.

Danke für die Info, aber dein Vorschlag funktioniert nicht.

Eine kleine Anmerkung noch am Rande.
zu Hause arbeite ich mit Access 2007 und im Geschäft mit AccessXP allerdings konvertiere ich die DB nicht.

Vielleicht gibt es eine andere Lösung für mein Problem.

Hier mein Originalcode:
Code:
Option Compare Database

Private Sub HauptNr_AfterUpdate()
    ' Den mit dem HauptNr übereinstimmenden Datensatz suchen.
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim Krit As String
    Dim x, y, z As Integer
   
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tbl_Grundspiel_Los", dbOpenSnapshot)
    Krit = "HauptNr='" & Me!HauptNr & "'"
    rs.FindFirst Krit
    Abschnitt1 = rs!Ab_1
    Abschnitt2 = rs!Ab_2
    Abschnitt3 = rs!Ab_3
    Abschnitt4 = rs!Ab_4
    Abschnitt5 = rs!Ab_5
    Abschnitt6 = rs!Ab_6
    Abschnitt7 = rs!Ab_7
    Abschnitt8 = rs!Ab_8
    Abschnitt9 = rs!Ab_9
    Abschnitt10 = rs!Ab_10
    spielt1 = rs!spielt1
    spielt2 = rs!spielt2
    spielt3 = rs!spielt3
    spielt4 = rs!spielt4
    spielt5 = rs!spielt5
    spielt6 = rs!spielt6
    spielt7 = rs!spielt7
    spielt8 = rs!spielt8
    spielt9 = rs!spielt9
    spielt10 = rs!spielt10
    Me!Stückelung = rs!Stückelung
    For x = 1 To 10
        If spielt(x) = "s" Then
            sp1 = 1
          Else
            sp1 = 0
        End If
        spGes = spGes + sp1
    Next x
    If spGes > 4 Or spGes = 4 Then
        MsgBox "Dieses Los hat keinen spielbaren Abschnitt mehr. " & _
               "Bitte wählen Sie eine andere Losnummer."
        Me!HauptNr.SetFocus
        Exit Sub
      ElseIf Me!Stückelung - spGes = 7 Or Me!Stückelung - spGes = 2 Then
        MsgBox "Es ist nur noch 1 Abschnitt spielbar", vbOKOnly
        Me!DS_speichern.Visible = True
      Else
        Me!DS_speichern.Visible = True
    End If
'-----------------------------------------------------------------------------
'Prüfen der anzuzeigenden ControlBoxes zur Auswahl der zu spielenden
'Abschnitte
    For y = 1 To 10
        MsgBox Abschnitt1
        MsgBox spielt1
        If Abschnitt(y) = "Los" And spielt(y) = "n" And spGes < 4 Then
            Me("Ab" & y).Visible = True
            Me("Ab" & y) = 0
          ElseIf spGes = 4 And spGes > 4 Then
            MsgBox "Keine Abschnitte verfügbar. Bitte wählen Sie eine " & _
                   "andere Losnummer.", vbOKOnly
            Me!HauptNr.SetFocus
            Exit Sub
          Else
            Me("Ab" & y).Visible = False
        End If
    Next y
'Anzeigen der auswälbaren Losabschnitt
    Me!Bez_Bitte.Visible = True
    Me!Bez_Die.Visible = True
    Me!Bez_Abschnitt.Visible = True
    Me!Bezeichnungsfeld45.Visible = True
    Me!Bezeichnungsfeld47.Visible = True
    Me!Bezeichnungsfeld49.Visible = True
    Me!Bezeichnungsfeld51.Visible = True
    Me!Bezeichnungsfeld53.Visible = True
    Me!Bezeichnungsfeld55.Visible = True
    Me!Bezeichnungsfeld57.Visible = True
    Me!Bezeichnungsfeld59.Visible = True
    Me!Bezeichnungsfeld61.Visible = True
    Me!Bezeichnungsfeld64.Visible = True
    Me!Bez_Losstückelung.Visible = True
    Me!Bez_Anteile.Visible = True
    Me!Stückelung.Visible = True
End Sub

_________________
Mike
Nouba
nicht ganz unwissend :)


Verfasst am:
25. Nov 2007, 17:46
Rufname:
Wohnort: Berlin


AW: globale Variablen in Schleife auslesen - AW: globale Variablen in Schleife auslesen

Nach oben
       Version: Office XP (2002)

Hallo Mike,

ich weiß noch nicht einmal, was die Db in ihren Tabellen wie zu welchem Zweck erfasst. Wenn wir an dieser Stelle ernsthaft weiter machen, rechne damit, dass Dir das Datenmodell zerpflückt wird und Du Alles mehr oder weniger neu aufsetzen musst, wenn es ordentlich werden soll. Rolling Eyes

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
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: Summe + Wahrheitswert auslesen 2 pktm 374 11. Dez 2007, 11:56
pktm Summe + Wahrheitswert auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: 2 Tabellen auslesen und als excel exportieren 0 Hobo2k 392 27. Nov 2007, 10:50
Hobo2k 2 Tabellen auslesen und als excel exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Erste Zeichen einer Zeichenkette auslesen 1 HSB 988 16. Aug 2007, 10:33
blicki Erste Zeichen einer Zeichenkette auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: mit VBA Wert auslesen 11 Gast 2637 15. Aug 2007, 22:13
Willi Wipp mit VBA Wert auslesen
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Tabellenerstellungsabfrage mit variablen Spaltennamen 1 Muetze1973 573 02. Apr 2007, 11:40
Willi Wipp Tabellenerstellungsabfrage mit variablen Spaltennamen
Keine neuen Beiträge Access Tabellen & Abfragen: PLZ teilweise auslesen 5 zink 674 23. Jan 2007, 17:49
Nouba PLZ teilweise auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: Variablen definieren und als Kriterium verwenden 1 Sunny87 4727 07. Okt 2006, 12:03
jens05 Variablen definieren und als Kriterium verwenden
Keine neuen Beiträge Access Tabellen & Abfragen: Globale Variable in SQL String verwenden 3 Floriannnnnn 1087 19. Jun 2006, 13:32
Willi Wipp Globale Variable in SQL String verwenden
Keine neuen Beiträge Access Tabellen & Abfragen: globale Variablen in vba, löst das mein Problem? 6 crunchips 913 19. Apr 2006, 14:55
crunchips globale Variablen in vba, löst das mein Problem?
Keine neuen Beiträge Access Tabellen & Abfragen: Daten über eine Schleife im gefilterten Formular ändern 1 Alwin 707 21. März 2006, 09:28
mapet Daten über eine Schleife im gefilterten Formular ändern
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle auslesen lassen und... 2 GhosttalkerST 704 22. Feb 2006, 22:40
GhosttalkerST Tabelle auslesen lassen und...
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit 2 variablen Kriterien 3 Oli_S 906 13. Feb 2006, 12:18
Willi Wipp Abfrage mit 2 variablen Kriterien
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps