Zum Inhalt springen

VB6: Datenobjekt in verschiedenen Formularen bearbeiten???


Empfohlene Beiträge

Geschrieben

Hi,

ich weiss, Ihr lacht mich sicher jetzt innerlich aus, leider brauch ich trotzdem diese Hilfestellung von euch:

Wer kann mir sagen, wie ich innerhalb des Formulars "Form2" auf die Daten eines Objektes in "Form1" zugreifen kann??? Hab mich hoffentlich verständlich genug ausgedrückt..

Bitte schnell antworten - is wichtig !

Danke,

chris:confused:

Geschrieben

das ist ganz einfach solange beide Forms aktiv sind.

Du sagst in Form2 z.B. Form1.txtHelpText.

also eigentlich brauchst Du nur Form1. zu schreiben und dann kommen alle M;othoden und Eigenschaften die auf dieser Form sind als Liste aufgeklappt.

Versuch es einfach mal.

GUido

Geschrieben

Hmmmm... coole Sache... DANKE!!! -> hat funktioniert!

Muss ich wohl beim ersten Mal übersehen haben =)

Noch was:

wie kann ich innerhalb eines Recordset-Objektes (also z.B. in ner Access-Datenbank) nach teilen eines enthaltenen Strings suchen?

wenn ich das hier eingebe, kann ich ja nur nach dem kompletten Text suchen:

datStudent.Recordset.Index = "Name"

datStudent.Recordset.Seek "=", SearchStr$

Für SearchStr$ soll z.B. nur ein Teil eines Namens stehen, wonach gesucht werden soll...

Wenn ich also "üll" eingebe, soll das Programm alle Namen, die "üll" enthalten´, z.B. die Müllers =) ausgeben. (Am besten dann in ner ListBox, in der ich dann aussuchen und anwählen kann... =) )

Zur Zeit muss ich aber leider komplette Namen eingeben, sonst findet er nix...

Danke schonmal im Voraus für die schnelle Hilfe =)

Gruß

CHRIS:confused:

Geschrieben

Moin !

der Nachteil an Seek ist, das Du den kompletten Namen angeben musst, und er findet auch nur das erste Feld mit dem passenden Eintrag, wäre also nicht so geeignet um ein Listenfeld zu füllen.

Wenn Du Access benutzt, wäre es besser mit einem Select zu arbeiten, ich würd das so lösen:

DasListenfeld.RowSource = "Select Name From Tabelle1 Where Name LIKE '*" & SearchStr & "*'"

SearchStr ist der Suchbegriff und die vor- und nachgestellten * sind die Platzhalter für die fehlenden Zeichen. Voraussetzung ist, das der Herkunftstyp des Listenfeldes "Tabelle/Abfrage" ist

Falls sowas nicht mit VB6 läuft (ich benutze wie gesagt nur Access und VBA), könntest Du denk ich auch einen Recordset erzeugen, mit dem gelichen Select als Datenquelle. Dann mit einer Schleife alle Datensätze durchgehen, diese zu einem String zusammenklöppeln und als Wertliste mit .Rowsource übergeben.

Hoffe das hilft Dir weiter !

gruß

Christian

Geschrieben

mhhh - naja - hört sich überzeugend an... Aber ich glaub, so ganz versteh ich das nicht...

Da werd ich mich wohl doch noch ein bischen mehr rein vertiefen müssen...

Gibt es dazu irgendwelche Seiten oder Beispiele im Web?

Chris;.)

Geschrieben

also das ist schon ganz korrekt so mit der VB6 Saceh und dem Recordset und einem Select Statement.

Ist die Sauberste Lösung für dich weil man da auch sieht wo man welchen Code ausführt.

So mache ich es zumindest. man könnte auch in VB6 mit dem ADODC arbeiten, davon rate ich aber ab, ist zwar schön enfach aber man hat immer eine DB Connection offen und das ist nicht gerade fein.

Also wie schon mein Vorredner empfehle ich Dir es über eine SELECT abfrage zu machen mit dem Anhängsel LIKE *" & strSearch & "*" so bekommst du dann ein ganzes RS zurück und kannst die Ergebnisse in eine Liste eintragen oder wozu Du Sie nutzten willste nutzen.

Gu8ido

  • 1 Monat später...
Geschrieben

Hallo,

so, nun hab ich mir das alles mal ein bischen genauer angeschaut... Ich habs echt geschafft *freu*

Jetzt bekomme ich einen Recordset zurück... Kann ich den Inhalt denn auch in einer ListBox zur Auswahl stellen, so dass man einen Datensatz auswählen kann und der dann direkt aufgerufen wird?

Also ich brauch einfach irgendwie eine Verknüpfung zwischen dem Recordset und ner Listbox oder so???

Hoffe, meine Gedankensprünge waren jetzt nicht all zu groß,

Doch? OK - bitte mail an mich oder hier rein schreiben - thx =)

meine Mail-addi : christian@hubrich-online.de

Danke,

chris;-)

Geschrieben

Das geht und zwar gibt es für die Listbox ein Klick-Ereignis indem du den Index des angeklickten Eintrags auswerten kannst.

Syntax :

Wert = Listbox.item(listbox.index)

(Kann sein dass ich mich da irre, hab´s jetzt nicht ausprobiert, steht aber in der Hilfe (MSDN) ganz gut beschrieben). Die Zuweisung in eine Variable ist nicht unbedingt erforderlich, jedoch hilfreich.

In Wert würde jetzt der Wert des anklickten Eintrag (z.B. ein Name) stehen und den kannst du dann wieder in einem Select einfügen und mit Hilfe des Recordsets die Felder füllen.

Hoffe dass hilft dir weiter, ansonsten texte mich mal per PM an.

Gruß

Feivel

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...