Visual Basic - brauche kleine Hilfe

  • Hi

    ich bin in keinem anderen Forum angemeldet, wo irgendwer davon unter Umständen Ahnung haben könnte, also frag ichs hier, ich hoffe, das nervt niemanden ;)

    Ich mache grade ein Praktikum(ein sehr entscheidendes, da hiernach festgestellt wird, ob ich für die dazugehörige ausbildung geeignet bin)
    Im bereich Anwendungsentwickler.

    ich habe nach und nach immer mehr aufgaben bekommen, wie z.B. einen Taschenrechner zu programmieren, diesen zu erweitern(wurzel usw.), Fehler zu analysieren, und nun ein Adressbuch mit einer eigenen (SQL)Datenbank zu programmieren.

    So ich habe das Adressbuch nun ziemlich fertig, nur habe ich eine kleine Lücke im Grundwissen, und zwar stehe ich vor folgendem letzten fehlendem Schritt:

    Ich möchte, dass er, wenn man einen neuen Datensatz angefangen hat, diesen aber noch nicht bearbeitet(bzw. noch nicht vor und nachnamen eingetragen hat, welche bei mir als Primär/Schlüsselspalten eingestellt sind) hat, und dann der Benutzer speichern, bzw. das Programm schließen will, eine Aufforderung erscheint, die Felder gefälligst auszufüllen.

    Soweit, Sogut.

    nun meine Wissenslücke:

    Wenn das Feld ausgefüllt ist, dann soll er einfach speichern, ohne eine Meldung auszugeben.
    Das krieg ich nicht hin


    mein Ansatz war:

    If VornameTextBox.Text = ""
    Then MsgBox("Bitte Vorname eingeben")

    If VornameTextBox.text = "*"
    'mit dem "*" möchte ich einfach ausdrücken, dass in dem Textfeld IRGENDetwas steht. Ich weiß, dass es allerdings der falsche befehl ist.
    Weiß jemand den richtigen?

    Viele Grüße Basti

    Ich hoffe, ihr konntet nachvollziehen, was ich meine.

    Fleeeeisch! Gedääääärme! Tooooot! Sonnenblumen!

  • Den Fall dass etwas drin steht, brauchst du doch gar nicht konkret abzufragen. Die Abfrage ob die Box leer ist sollte mit "" funktionieren, soweit ich mich erinnere. Also mach doch einfach:


    If VornameTextBox.Text = "" Then
    MsgBox("Bitte Vorname eingeben")
    Exit Sub ' oder Function oder wie auch immer das strukturiert ist
    End If


    Und wenn die Bedingung nicht erfüllt ist, also etwas eingetragen ist, geht es weiter im Programm. Ich hoffe ich hab dich richtig verstanden...
    Aber wenn du tatsächlich unbedingt überprüfen willst ob die Box nicht leer ist, solltest du einfach den <> Operator verwenden.


    Gruß, Volker

  • Hm so wird das glaub ich nicht in meine programmstruktur passen...
    muss ich mal guggen..
    Die Aktion sollte ja aber eigentlich auch nicht abbrechen, sondern noch weiter gehen(speichervorgang)

    @Jens: Ich nehme an xy ist die variable für meien Textbox?

    Den kannt ich noch nicht, werd ich morgen früh mal probieren, ich denke aber, das ist es, danke :)

    Fleeeeisch! Gedääääärme! Tooooot! Sonnenblumen!

  • Diese Eigenschaft hat das VB Textfeld nicht (zumindest damals nicht als ich noch VB programmiert habe), aber du kannst das mit Len(textfeld.text) abfragen. Die Funktion gibt die Länge eines Strings zurück.

  • höh? welche eigenschaft?
    Ich wollte eigentlich ja bloß abfragen lassen, ob in den textfeldern nun was steht, oder nicht^^

    btw.: was ist Len()?

    Fleeeeisch! Gedääääärme! Tooooot! Sonnenblumen!

  • So wie Jens schrieb xy.text.length war das wohl eher als Pseudocode gedacht, denn das geht so in VB nicht. Beispielsweise textbox.width: 'width' ist eine Eigenschaft des Textboxsteuerelements, genauso wie textbox.text. Und die Eigenschaft textbox.length gibt es eben nicht. Ich glaube ein Grundlagenbuch wäre keine verkehrte Investition...:rolleyes:

    Bzgl. Len(): hab ich doch eigentlich schon geschrieben im vorigen Post. Anonsten hilft des Gravewarriors Signatur + "visual basic len" weiter.

  • Zitat von marshmellow;264807

    So wie Jens schrieb xy.text.length war das wohl eher als Pseudocode gedacht, denn das geht so in VB nicht. Beispielsweise textbox.width: 'width' ist eine Eigenschaft des Textboxsteuerelements, genauso wie textbox.text. Und die Eigenschaft textbox.length gibt es eben nicht.

    Nah Quark, das hab cih schon verstanden.
    An Grundlagen diesbezüglich mangelt es mir nciht, keine Bange.
    Ich habe Jens code eher so gedeutet : textbox.text.length, also die länge des in der textbox eingegebenen Textes, also quasi als eigenschaft der eigenschaft, und nicht length als eigenschaft der Textbox.

    Grüße, Basti:)

    Fleeeeisch! Gedääääärme! Tooooot! Sonnenblumen!

  • So habe noch ein kleines Programm geschrieben, um zu überprüfen, ob ichs wirklich richtig verstanden hatte.
    Ja habe ich.

    Danke! :)

    Gut Nacht!

    Fleeeeisch! Gedääääärme! Tooooot! Sonnenblumen!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!