Controls Textbox

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Controls Textbox

    Hallo,

    vllt könnt Ihr mir bei meinem Problem helfen:

    ich habe 10 Textboxen bei denen ich prüfen möchte, ob diese leer sind:

    bin wie folgt vorgegangen, leider bekomme ich die Fehlermeldung, dass der objektverweis nicht auf eine objektinstanz festgelegt wurde...


    VB.NET-Quellcode

    1. For i = 1 To 10
    2. If Me.Controls("txt_anforderung" & i).Text <> "" Then
    3. End If
    4. Next


    Vielen Dank für Eure Hilfe

    VB.NET-Quellcode

    1. For Each tb As TextBox In Me.Controls.OfType(Of TextBox)
    2. Next


    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    tobisch159 schrieb:

    benötige aber eine for... next... schleife

    Wieso?

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    weil ich mit folgender sql anweisung dann weiter arbeiten will:

    SQL-Abfrage

    1. cmd.CommandText = "INSERT INTO tbl_aktuelles(" 'tbl_person füllen
    2. cmd.CommandText = cmd.CommandText + " person_id_f, "
    3. cmd.CommandText = cmd.CommandText + " anf_pos, "
    4. cmd.CommandText = cmd.CommandText + " anf_anforderung, "
    5. cmd.CommandText = cmd.CommandText + " anf_erfuellung)"
    6. cmd.CommandText = cmd.CommandText + "VALUES ("
    7. cmd.CommandText = cmd.CommandText + "'" & Me.txt_id.Text & "',"
    8. cmd.CommandText = cmd.CommandText + "'" & i & "',"
    9. cmd.CommandText = cmd.CommandText + "'" & Me.Controls("txt_anforderung" & i).Text & "',"
    10. cmd.CommandText = cmd.CommandText + "'1')"


    ich benötige also den inhalt dieser textbox wieder und muss sie diesbezüglich ansprechen...

    geht es nicht so wie ich es angefangen habe??
    Du kannst doch auch mit ner For Each-Schleife die TextBoxen ansprechen, dafür gibt es doch die Variable.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Du siehst die Variable tb für das aktuelle Iterationsobjekt.
    Einfach tb.Text oder was weiß ich.

    For und For Each sind das gleiche, nur dass entsprechendes Aufrufen von Auflistungsobjekten bei For mit Indizen geregelt wird (, da es eig. ja nur Aktionen x-mal ausführt und dabei inkrementiert) und bei For Each mit einem Enumerator, der direkt Auflistungen durchläuft.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Vielen Dank für deine Hilfe...

    es lag daran, dass meine textbox auf einer tabpage lag...

    Vllt nochmal eine andere Frage in diesem Zuge:

    Mein Code der funktioniert:

    VB.NET-Quellcode

    1. For i = 1 To 12
    2. If DirectCast(Me.GroupBox1.Controls("opt_e" & i), RadioButton).Checked = True Then
    3. end if
    4. next


    Mein Wunsch um zusätzlichen Code zu vermeiden ist aber, dass die Groupbox auch über den Zähler i angesprochen werden kann. Leider muss ich hier passen oder ist es möglich innerhalb eines controls noch ein control anzulegen?

    Mein Wunschcode:

    VB.NET-Quellcode

    1. For i = 1 To 12
    2. If DirectCast(Me.GroupBox(i).Controls("opt_e" & i), RadioButton).Checked = True Then
    3. end if
    4. next


    gibt es da eine möglichkeit??

    tobisch159 schrieb:

    um zusätzlichen Code zu vermeiden
    kaufst Du Dir eine sehr hohe Fehleranfälligkeit ein.
    Lass das.
    Arbeite die Parent-Controls der Reihe nach ab, Du kannst ja eine gemeinsame Sub aufrufen, in der die Child-Controls durchgeklickert werden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    tobisch159 schrieb:

    geht es nicht?
    Es geht sehr wohl, allerdings rate ich Dir davon ab.
    Ich selbst würde solch "Unkraut-Code" nicht verzapfen und so werde ich ihn Dir auch nicht erläutern.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!