Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Kann Textfelder nicht mehr mit inhalten füllen per VBA
zurück: Fortlaufende Rechnungsnummer weiter: ID aus Formular in Unterformular (VBA-Anfänger) 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
5ky
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Jun 2009, 08:18
Rufname:

Kann Textfelder nicht mehr mit inhalten füllen per VBA - Kann Textfelder nicht mehr mit inhalten füllen per VBA

Nach oben
       Version: Office 2007

Morgen,
und mal wieder ein Problem, wofür ich bei Google und hier keine Lösung fand.
Ich habe ein einfaches Rechnungsformular, in welchem ein Positionsformular als Endlosformular eingebunden ist.
Beide Formulare sind eigenständige Tabellen. Eine Weitere Tabelle sind die Einstellungen, in welchem ich als Positionsschritte z.b. 10 eingegeben habe.
Jetzt sollen, wenn in der Rechnung Positionen angelegt werden, die Spalte Positionsschritte immer um 10 höher sein.
Deshalb habe ich beim Öffnen von dem Positionsblatt:
Code:
Private Sub Form_Open(Cancel As Integer)
    If IsNull(Me!Position) Then
        Me!Position = DMax("Positionsschritte", "tbl_e_einstellungen")
    End If
End Sub
Hier ist auch schon der erste Hund begraben, weil er ständig bringt, dass dem Objekt kein Wert zugewiesen werden kann. Erst wenn ich bei Me!Position.DefaultValue dran hänge gehts. Dann sind aber alle Spalten mit der 10 belegt.

Warum kann ich plötzlich keine Textfelder mehr beschreiben? Gind doch bisher immer so? Wenn ich Form_Load eingebe, wird der Code gar nicht ausgeführt, da es ja im Unterformular steht.

Der 2. Punkt ist, wenn weitere Positionen eingefügt werden. Hier soll ja entsprechend hochgezählt werden. Dies habe ich bisher mit:
Code:
Private Sub Form_Dirty(Cancel As Integer)
    If Me!Position = Me!PositionsCounter Then
        Me!Position = DMax("Positionsschritte", "tbl_e_einstellungen") + _
                      Me!PositionsCounter
    End If
End Sub
gelöst. PositionsCounter ist dabei im Kopf ein Textfeld, welches einfach den Max Wert aus den Positionen im Formular nimmt.
Dies ist aber keine schöne Lösung, da, wenn ich in der selben Zeile etwas verändere, in welcher eigentlich korrekter weise 10 drin steht, wird auch diese Zahl erhöht. Weiß hier jemand Rat?
MfG
5ky
blicki
Es wird langsam besser...


Verfasst am:
21. Jun 2009, 10:21
Rufname: Martin
Wohnort: Meerbusch


AW: Kann Textfelder nicht mehr mit inhalten füllen per VBA - AW: Kann Textfelder nicht mehr mit inhalten füllen per VBA

Nach oben
       Version: Office 2007

Zum Punkt eins:
Hast Du das Ufo mit dem HF in den Objekteigenschaften des UFO_Steuerelements mit einer ID verknüpft? Wenn nicht mach das mal.

Für welches Form gilt der Code des Form_Open?
Wenn der im HF aufgerufen wird, wirst Du mit der Zuweisung anders vorgehen müssen, etwa so:
Code:
Private Sub Form_Open(Cancel As Integer)
    If IsNull(Me!Position) Then
        Forms!Hauptformular![Rahmen_UFO]!Position = _
                                                   DMax("Positionsschritte", _
                                                        "tbl_e_einstellungen")
    End If
End Sub
Um zu testen, ob DMax überhaupt einen Wert liefert, ist es sinnvol den Wert zunächst in eine Variable zu schreiben, den Code zu stoppen und mal ansehen, ob überhaupt ein Wert geliefert wird.

Beim Punkt zwei kann ich Dir nicht ganz folgen, versuch dich mal etwas anders auszudrücken.

So wie ich das verstehe, beim Aufruf aus dem HF sollte der Zähler für das Ufo wiefolgt in dein Textfeld geschrieben werden können. Dazu würde ich zunächt mal ein Klick Ereignis zum Testen verwenden, um ggf. einen Fehler einzuschränken.
Code:
Private Sub btn_Click()
    With Forms!Hauptformular![Rahmen_UFO]
        If IsNull(!Position) Or !Position = "" Then
            !Position = DMax("Positionsschritte", "tbl_e_einstellungen")
        End If
    End With
End Sub
Wenn Du diesen Button in dein Ufo einbaust ollte es so klappen:
Code:
Private Sub btn_Click()
    If Nz(Me!Position, "") = "" Then
        Me!Position = DMax("Positionsschritte", "tbl_e_einstellungen")
    End If
End Sub

_________________
Gruß Martin
Ein paar gesammelte Werke habe ich in der Beispiele.mdb,die ihr auf meiner HP findet, zusammengefasst.
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: Per Abfrage Zeilenwerte aus einer Tabelle in mehren Spalten 2 missionhro 806 24. Jul 2006, 12:13
missionhro Per Abfrage Zeilenwerte aus einer Tabelle in mehren Spalten
Keine neuen Beiträge Access Tabellen & Abfragen: Export per VBA 1 chris1337 718 09. Mai 2006, 15:39
Nouba Export per VBA
Keine neuen Beiträge Access Tabellen & Abfragen: per Abfrage gleich 50 Datensätze anfügen? 1 Nicole_Mehnert 791 03. Apr 2006, 19:25
Nouba per Abfrage gleich 50 Datensätze anfügen?
Keine neuen Beiträge Access Tabellen & Abfragen: Per SQL-Befehl mehrere Datensätze 'insert'en 1 SPIce 2327 16. März 2006, 21:18
jens05 Per SQL-Befehl mehrere Datensätze 'insert'en
Keine neuen Beiträge Access Tabellen & Abfragen: leere Felder in einer Kreuztabelle mit 0 füllen 2 Gast 4918 13. März 2006, 21:04
gst12345 leere Felder in einer Kreuztabelle mit 0 füllen
Keine neuen Beiträge Access Tabellen & Abfragen: Löschabfrage per Button im Formular ausführen geht nicht 7 didi82 4397 13. Feb 2006, 21:18
didi82 Löschabfrage per Button im Formular ausführen geht nicht
Keine neuen Beiträge Access Tabellen & Abfragen: Per access-Abfrage 2 gleich Tabellen zu einer zusammenfasse 2 FunkBrother 718 07. Feb 2006, 21:48
FunktBrother Per access-Abfrage 2 gleich Tabellen zu einer zusammenfasse
Keine neuen Beiträge Access Tabellen & Abfragen: Textfelder mit Tabelle verknüpfen! 0 eddo51 509 09. Jan 2006, 20:31
eddo51 Textfelder mit Tabelle verknüpfen!
Keine neuen Beiträge Access Tabellen & Abfragen: Duplikate löschen per Abfrage 2 DanielW 6779 21. Sep 2005, 15:51
DanielW Duplikate löschen per Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellen per update verändern??? 5 segel12 1606 22. Aug 2005, 07:49
stpimi Tabellen per update verändern???
Keine neuen Beiträge Access Tabellen & Abfragen: Feldwert ergänzen per SQL 16 grub 2243 27. Jul 2005, 16:50
Willi Wipp Feldwert ergänzen per SQL
Keine neuen Beiträge Access Tabellen & Abfragen: Verknüpfte Tabelle beim SQL Server per ODBC 2 formifan2002 3457 19. Jul 2005, 12:39
formifan2002 Verknüpfte Tabelle beim SQL Server per ODBC
 

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