Announcement

Collapse
No announcement yet.

Autovervollständigung, Werte vom SQL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Autovervollständigung, Werte vom SQL

    Hallo,

    ich ´bastle gerade ein Form in welchem ich eine kleinere (20k Einträge) SQL-Tabelle abfrage. da die Elemente sich relativ stark ähneln
    möchte ich das es eine Autovervollständigung gibt aus der der User sich dann die richtige Lösung herraus anklicken kann.

    Bsp.: Eingabe im Feld: 800
    Rückgabe in der Autovervollständigung: 0180063743

    Es werden aller Warscheinlichkeit mehrere Elemente sein, da ich vorhab den Inhalt des Feldes über eine Variable umzuformatieren.
    sieht ungefähr so aus:
    Code:
    dim Parameter as String = "%" & Val(Feld.Text)& "%"
    Aufgrund der Mehrfachanzeige der Elemente, benötige ich zumindest in der Anzeige der Autovervollständigung
    mehrere Spalten damit der Anwender es auseinanderhalten kann.

    Frage1: welches Element macht sinn? Textbox, ComboBox???
    Frage2: wie muss ich die abfrage dazu gestallten (ich bin leider nicht ganz so fit und mach die immer über den Designer)

    ich hoffe ich hab es nicht zu wirr geschrieben, ansonsten fragt bitte einfach.
    Ich hab keine Ahnung was ich tue aber ich will es lernen

  • #2
    Ich krieg noch ne Macke hier...

    jetzt saß ich den ganzen Tag davor jetzt gehts....

    also ne ComboBox mit Bindung auf die Source
    wie schalt ich jetzt eine Maske auf die Box?
    und die Box so das sie beim anklicken gleich geöffnet wird?
    achja und sortierung der Werte wäre auch nicht schlecht


    Ideen???
    Ich hab keine Ahnung was ich tue aber ich will es lernen

    Comment


    • #3
      für sortierung bietet eine Combobox eine Property an
      Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

      Comment


      • #4
        Hast du die eingebaute AutoComplete Funktion(die 3 nicht zu übersehenenden Properties mit AutoComplete im Namen) der Combobox mal ausprobiert bevor du etwas eigenes schreibst? Vielleicht hilt die dir schon.

        wie schalt ich jetzt eine Maske auf die Box?
        Mask??? Wie bei einer MaskTextBox? Wofür?

        für sortierung bietet eine Combobox eine Property an
        ... die nicht zieht wenn man die Daten per Databinding anzeigt.
        Da muss man schon die Datenmenge dahinter selbst sortieren.
        Falls du eine BindingSource verwendest hat diese eine Sort Property oder falls du eine Datatable benutzt mußt du diese gezielt sortiert befüllen(per Hand oder SQL).

        Frage2: wie muss ich die abfrage dazu gestallten (ich bin leider nicht ganz so fit und mach die immer über den Designer)
        Ist für Autocomplete wahrscheinlich zu langsam. Bei nur 20K Einträgen ist es wahrscheinlich schneller wenn du die alle lädst und dann über die Filterproperty einer Bindingsource entsprechend filterst.

        Etwa so

        Code:
        BindingSource.Filter = "MeinFeld LIKE '*MeinSuchstring*'"

        Comment


        • #5
          Hallo,

          vielen Dank für eure Antworten ich antworte dann mal durch:

          Originally posted by Ralf Jansen View Post
          Hast du die eingebaute AutoComplete Funktion(die 3 nicht zu übersehenenden Properties mit AutoComplete im Namen) der Combobox mal ausprobiert bevor du etwas eigenes schreibst? Vielleicht hilft die dir schon.
          ich hab die 3 Properties gefunden und sie reichen in der Tat erstmal aus
          erledigt


          Originally posted by Ralf Jansen View Post
          Mask??? Wie bei einer MaskTextBox? Wofür?
          Für die Anwender halt... sie sind an Zahlen im Format 000 000 000 000
          gewöhnt, wenn es nicht geht haben sie pech...

          Mein Problem ist das ich den Wert in unformatierter Form für die Abfrage brauche und das Ergebnis der Abfrage dann aber auch wieder in der formatierten Form anzeigen möchte

          Originally posted by Ralf Jansen View Post
          ... die nicht zieht wenn man die Daten per Databinding anzeigt.
          Da muss man schon die Datenmenge dahinter selbst sortieren.
          Falls du eine BindingSource verwendest hat diese eine Sort Property oder falls du eine Datatable benutzt mußt du diese gezielt sortiert befüllen(per Hand oder SQL).
          oh ok das wusste ich nicht also mach ich lieber ein order by in die Abfragen rein danke.



          Originally posted by Ralf Jansen View Post
          Ist für Autocomplete wahrscheinlich zu langsam. Bei nur 20K Einträgen ist es wahrscheinlich schneller wenn du die alle lädst und dann über die Filterproperty einer Bindingsource entsprechend filterst.

          Etwa so

          Code:
          BindingSource.Filter = "MeinFeld LIKE '*MeinSuchstring*'"

          Das muss ich mal ausprobieren vielen dank, melde mich dann nochmal
          klingt aber nach der Lösung für mein Problem...
          begebe mich dann mal auf die Suche nach der Propery....

          bis später
          Ich hab keine Ahnung was ich tue aber ich will es lernen

          Comment


          • #6
            so da sind wir wieder...
            leider bin ich zu nicht viel gekommen in der letzten woche allerdings hätte ich zu der Geschichte mit dem Filter per Bindingsource nochmal ne Frage.

            Wie gestallte ich das ganze so dynamisch das sich die Filter ergebnise
            mit jeder eingabe einer Stelle verändern?

            Bsp.:
            Eingabe: 1234 Zeigt: 001234, 1234567, 0123400 und so weiter
            nehm ich die 4 weg bei der eingabe soll er mir aber sofort aktualisieren...

            welches Event bietet sich dazu bei einer combobox an?
            Ich hab keine Ahnung was ich tue aber ich will es lernen

            Comment

            Working...
            X