TExtbox abnhängig von angabe in der Combobox

Hi

Habe folgendes Problem:

Ich will in einer Combobox eine Angabe machen. Abhängig davon soll in iner Textbox eine Eingabe gemacht werden können welche gespeichert wird. Je nach dem was ich in der Combobox eingebe soll dann die jeweilige Datei in die Textbox geladen werden. zB

Ich gebe in die Combobox 15.11.06 ein und Schreibe danach etwas zu diesem Datum in die Textbox. Nun klicke ich im Menü auf Speichern und das nächste mal erhalte ich wenn ich in der Combobox 15.11.06 anklicke die Notizen in der Textbox wieder.

Wie könnte man das realisieren?

Danke schonmal

Steven

Hallo,

Ich will in einer Combobox eine Angabe machen. Abhängig davon
soll in iner Textbox eine Eingabe gemacht werden können welche
gespeichert wird. Je nach dem was ich in der Combobox eingebe
soll dann die jeweilige Datei in die Textbox geladen werden.
zB

Ich gebe in die Combobox 15.11.06 ein und Schreibe danach
etwas zu diesem Datum in die Textbox. Nun klicke ich im Menü
auf Speichern und das nächste mal erhalte ich wenn ich in der
Combobox 15.11.06 anklicke die Notizen in der Textbox wieder.

Wie könnte man das realisieren?

hmmm, bevor wir damit anfangen … Welches Basic? VBA? VB6? .NET?
Dir ist klar, daß eine Kombobox nicht beliebig lang ist … Bist Du sicher, daß Du da eine Kombobox möchtest? Bei Dir taucht im Beispiel ein Datum auf. Soll das immer ein Datum sein? Dann empfehle ich einen
Kalender dafür, ‚DTPicker‘ oder ‚MonthView‘.

Allgemein scheint Deine Anwendung nach einer Datenbank zu
scheien.

Gruß, Rainer

Also es ist VB 6

Genau beschrieben ist das so:

Ich will in einer ersten Kombobox einstellen ob ich zum Tagebuch oder den Notizen will. Stelle ich Notizen ein soll in einer zweiten Kombobox ein DAtum einzugeben sein welches dann mit dem eintrag welchen man in der Textbox gemacht hat gespeichert wird z.B 25.11.06 in der Kombobox und der zugehörige Text in der Textbox. Dies soll dann bei entsprechender Auswahl auch wieder so aufgerufen werden. Also wenn ich 25.11.06 in der Kombobox auswähle soll dann auch wieder der zugehörige Text in der Textbox angezeigt werden.

Stelle ich nun TAgebuch ein so soll man in der Kombobox Nr 2 einen Namen eingeben können und ansonsten sollen die Funktionen wie vorher beschrieben sein. Also Kombobox eingabe verknüpft mit Textbox.

DAnke schonmal für die schnelle Reaktion

Steven

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Steven,

Also es ist VB 6

das freut mich, da kenne ich mich aus. :smile: Dein Projekt ist fast schon fertig. :smile:

Genau beschrieben ist das so:

Ich will in einer ersten Kombobox einstellen ob ich zum
Tagebuch oder den Notizen will.

OK.

Stelle ich Notizen ein soll in
einer zweiten Kombobox ein DAtum einzugeben sein welches dann
mit dem Eintrag welchen man in der Textbox gemacht hat
gespeichert wird z.B 25.11.06

Und wenn Du Dich da vertippst? Dan findest Du den Eintrag nicht wieder. Da würde ich lieber einen Kalender nehmen. Aber wenn Du auf ComboBox bestehst, auch gut. :smile:

in der Kombobox und der
zugehörige Text in der Textbox. Dies soll dann bei
entsprechender Auswahl auch wieder so aufgerufen werden. Also
wenn ich 25.11.06 in der Kombobox auswähle soll dann auch
wieder der zugehörige Text in der Textbox angezeigt werden.

Ja, klar.

Stelle ich nun TAgebuch ein so soll man in der Kombobox Nr 2
einen Namen eingeben können und ansonsten sollen die
Funktionen wie vorher beschrieben sein. Also Kombobox eingabe
verknüpft mit Textbox.

Ja, alles klar.

Hast Du schon ‚Ad-Ins‘ -> ‚Visual Data Manager‘ entdeckt und kannst Du damit eine Datenbank aufbauen? Oder hast Du Access und kannst es damit? Du brauchst eine .mdb mit zwei Tabellen. Jede Tabelle hat zwei Felder. 1.Feld: Typ Datum. 2.Feld: Typ Text oder Memo. Text kann nut 255 Zeichen fassen, also erst überlegen, dann machen. :smile:

Bei deinem Textfeld stellst Du Mulitiline auf True und Scrollbars auf Vertikal. Außer dem Textfeld und den beiden Comboboxen brauchst Du noch zwei CommandButtons, auf den Einen schreibst Du ‚Sichern‘ auf den anderen ‚Suchen‘. :smile: Ich mach das mal auch, bau die Datenbank, schreibe den Code und dann sehen wir weiter.

Gruß, Rainer

Also mt Datenbanken kenn ich mich überhaupt noch nicht aus! Wenn du willst kannst du mir ja gerne kurz anreißen wie das geht.

Das mit den Buttons geht das auch wenn ich das ins Menü einbaue? Macht doch eigentlich keinen unterschied oder?

Die 255 Zeichen vom Text sind dann nur für die Kombobox oder wie? oder ist das dann pro eintrag oder insgesamt?

Das mit dme vertippen in der Box dürfte doch von daher kein problem sein da ich ja aufklappen kann und dann den eintrag sehe. Kann man dann eigentlich auch mit entf einen Eintrag löschen?

Sorry für die vielen fragen und das ich so viele umstände bereite aber bin eben noch blutiger anfänger. Hoffe strapaziere eine Nerven nicht zu sehr!!!

Nochmals Danke

Steven

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Steven,

Also mt Datenbanken kenn ich mich überhaupt noch nicht aus!
Wenn du willst kannst du mir ja gerne kurz anreißen wie das
geht.

kurz ist da nicht, kommt am Schluss … :smile:

Das mit den Buttons geht das auch wenn ich das ins Menü
einbaue? Macht doch eigentlich keinen unterschied oder?

Ja, ist nur schwerer zu bedienen.

Die 255 Zeichen vom Text sind dann nur für die Kombobox oder
wie? oder ist das dann pro eintrag oder insgesamt?

Das ist die Größe in der datenbank pro Eintrag, bei Dir also pro Tag. Ich würde Memo für das tagebuch und Text für den Kalender nehmen. :smile:

Das mit dme vertippen in der Box dürfte doch von daher kein
problem sein da ich ja aufklappen kann und dann den eintrag
sehe. Kann man dann eigentlich auch mit entf einen Eintrag
löschen?

In der Kombobox? Du willst da den inhalt der Datenbank abbilden? Die Kombobox fasst maximal 15 Zeilen, hast Du mehr Tage eingetragen kommst Du dann so nicht mehr an die Daten.

Sorry für die vielen fragen und das ich so viele umstände
bereite aber bin eben noch blutiger anfänger. Hoffe
strapaziere eine Nerven nicht zu sehr!!!

Für die Fragen ist w-w-w doch da.

Also jetzt zur Datenbank:

Klicke auf Add-Ins.
Dann aud Visual Data Manager
Dort auf Datei -> Neu … -> Microsoft Access -> Version 7.0 MDB
Dann gibst Du Pfad und Namen ein und klickst OK.
Dann Rechtsklick auf Properties und Neue Tabelle
Dann gibst Du einen Tabellennamen ein, z.B. Tagebuch.
Dann klickst Du auf Felder Hinzufügen, gibst für das erste Feld ‚Datum‘ als Namen ein, als Typ stellst Du Date/Time ein. das zweite Feld nennst Du ‚Text‘ und gibst ‚Memo‘ als Typ ein, dann hast Du Platz.
Dann klickst Du auf Index hinzufügen, gibst dem Index einen namen, z.B. ‚Primaer‘ und fügst Datum dem schlüssel hinzu. Dann OK, und die erste Tabelle ist fertig.
Wieder Tabelle hinzufügen und das Selbe noch einmal für den Kalender.
Achte darauf, daß die Felder in beiden Tabellen die gleichen Namen haben, am Besten ‚Datum‘ und ‚Text‘, dann passt das zu meinem Code, bei mir läuft es schon. :smile:

Wenn Du den Manager dann schließt, ist die Datenbank fertig.

Sag bescheid, wenn Du so weit bist oder wenn es dabei Probleme gibt.

Wenn Du das hast, ist das Meiste getan.

Gruß, Rainer

Also sehe ich das richtig: 255 Zeichen in der Kombobox. Die Textbox ist komplett raus aus der Zeichenbegrenzung? Memo hat auch nur 255 oder mehr?

In der Kombobox? Du willst da den inhalt der Datenbank
abbilden? Die Kombobox fasst maximal 15 Zeilen, hast Du mehr
Tage eingetragen kommst Du dann so nicht mehr an die Daten.

Also nach 15 Einträgen ist schluß, sehe ich das richtig?

Werde das ganze mal anlegen und dann bescheid geben okay?

THX

Steven

Hi Steven,

Also sehe ich das richtig: 255 Zeichen in der Kombobox.

nein, 15 Zeilen in der ComboBox. Da soll ja nur ein Wort hinein, dafür reicht der Platz immer. Wie lang eine Zeile sein farf weiß ich nicht, vermutlich 255 aber so viel sieht man ja nicht.

Die Textbox ist komplett raus aus der Zeichenbegrenzung?

Ja, das ist praktisch ein Notepad.

Memo hat auch nur 255 oder mehr?

Mehr, auch paraktisch unbegrenzt.

In der Kombobox? Du willst da den inhalt der Datenbank
abbilden? Die Kombobox fasst maximal 15 Zeilen, hast Du mehr
Tage eingetragen kommst Du dann so nicht mehr an die Daten.

Also nach 15 Einträgen ist schluß, sehe ich das richtig?

In der ComboBox ja. Ich habe für das Datum einen DTPicker genommen, das funktioniert wunderbar.

Werde das ganze mal anlegen und dann bescheid geben okay?

Ja, OK.

Ich habe eine Combobox, einen DTPicker und ein Textfeld auf der Form, mehr wird nicht benötigt.

Gruß, Rainer

Dann klickst Du auf Index hinzufügen, gibst dem Index einen
namen, z.B. ‚Primaer‘ und fügst Datum dem schlüssel hinzu.
Dann OK, und die erste Tabelle ist fertig.
Wieder Tabelle hinzufügen und das Selbe noch einmal für den
Kalender.

Hab das jetz mal gemacht. Hoffe das ich bei dem obigen alles richtig gemacht hab. Bei der Indexierung wähle ich unten DAtum aus (Denke das war mit Schlüssel zufügen gemeint oder?) und nen es Primaer. Bei der anderen Tabelle das selbe? Auch den Namen Primär verwenden oder?

Wenn das alles so richtig ist dann hab ichs! :smile:

Dann klickst Du auf Index hinzufügen, gibst dem Index einen
namen, z.B. ‚Primaer‘ und fügst Datum dem schlüssel hinzu.
Dann OK, und die erste Tabelle ist fertig.
Wieder Tabelle hinzufügen und das Selbe noch einmal für den
Kalender.

Hab das jetz mal gemacht. Hoffe das ich bei dem obigen alles
richtig gemacht hab. Bei der Indexierung wähle ich unten DAtum
aus (Denke das war mit Schlüssel zufügen gemeint oder?) und
nen es Primaer. Bei der anderen Tabelle das selbe? Auch den
Namen Primär verwenden oder?

Wenn das alles so richtig ist dann hab ichs! :smile:

Nur eine Kombobox? Bei meiner Idee brauchte man doch zwei? Da bin ich mal gespannt wie das geht! :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Terminkalender mit Datenbank DAO
Hallo,

Hab das jetz mal gemacht. Hoffe das ich bei dem obigen alles
richtig gemacht hab. Bei der Indexierung wähle ich unten DAtum
aus (Denke das war mit Schlüssel zufügen gemeint oder?)

Ja.

und
nen es Primaer. Bei der anderen Tabelle das selbe? Auch den
Namen Primär verwenden oder?

Auch ja. :smile:

Wenn das alles so richtig ist dann hab ichs! :smile:

Gut!

Dann mach ein neues Projekt auf, lege eine Combobox rauf, bei der stellst Du Style auf: 2 - Dorp Down Liste.
In die Eigenschaft Liste schreibst Du ‚Kalender‘ und in die nächste Zeile ‚Tagebuch‘ oder was immer Du willst, die Texte werden nicht benötigt. Den Namen der Combobox kannst Du lassen, wie VB ihn anlegt.

Dann kommt ein DTPicker auf die Form, da mußt Du nichts einstellen.

Dann eine TextBox, den Text entfernst Du, stellst Multiline auf true und Scrollbar auf Vertikal.

Dann kommt das Data-Steuerelement. Lege erst mal nur eins auf die Form.
In der Eigenschaft Databasename klickst Du auf die rechte Spalte, nun kannst Du Deine Datenbank auswählen. Wo Du sie hin geschrieben hast, weißt Du ja, wenn nicht, sieh noch einmal mit dem Assistenten nach.

Nun suchst Du die Eigenschaft ‚Recordsource‘ und stellst da die erste Tabelle ein.

Jetzt ein Rechtsklick auf das Data-Steuerelement und dann auf kopieren. Nun ein Rechtsklick auf die Form und ‚einfügen‘. VB fragt Dich dann, ob Du ein Steuerelementefeld erstellen willst, bestätige mit einem Klick auf ‚Ja‘, das wollen wir. :smile:

In dem zweiten Data-Steuerelement ist schon fast alles richtig, Du mußt nur noch bei Recordsource die andere Tabelle angeben.

Danach stellst Du bei den Data-Steuerelementen die Eigenschaft ‚Visible‘ auf ‚False‘.

Fertig, nur noch den Code einfügen. Der sit so einfach, daß Du ihn sicher verstehen wirst, sonst frag einfach.

Option Explicit

Private Sub Form\_Load()
 Me.Show
 DTPicker1.Value = Date
End Sub

Private Sub Combo1\_Click()
 Lesen
End Sub

Private Sub DTPicker1\_Change()
 Lesen
End Sub

Private Sub Combo1\_GotFocus()
 If Combo1.ListIndex \>= 0 Then
 Schreiben
 End If
End Sub

Private Sub DTPicker1\_GotFocus()
 Schreiben
End Sub

Private Sub Schreiben()
 Dim su As String
 su = "Datum = #" + Format(DTPicker1.Value, "m-d-yy") + "#"
 Data1(Combo1.ListIndex).Recordset.FindFirst su
 If Data1(Combo1.ListIndex).Recordset.NoMatch = True Then
 If Text1.Text "" Then
 Data1(Combo1.ListIndex).Recordset.AddNew
 Else
 Exit Sub
 End If
 Else
 If Text1.Text = "" Then
 Data1(Combo1.ListIndex).Recordset.Delete
 Exit Sub
 Else
 Data1(Combo1.ListIndex).Recordset.Edit
 End If
 End If
 Data1(Combo1.ListIndex).Recordset("Datum") = DTPicker1.Value
 Data1(Combo1.ListIndex).Recordset("Text") = Text1.Text
 Data1(Combo1.ListIndex).Recordset.Update
End Sub

Private Sub Lesen()
 Dim su As String
 su = "Datum = #" + Format(DTPicker1.Value, "m-d-yy") + "#"
 Data1(Combo1.ListIndex).Recordset.FindFirst su
 If Data1(Combo1.ListIndex).Recordset.NoMatch = True Then
 Text1.Text = ""
 Else
 Text1.Text = Data1(Combo1.ListIndex).Recordset("Text")
 End If
End Sub

Das ist alles, mehr brauchst Du nicht.
Du kannst einfach Text in das Textfeld schreiben. Dann kannst Du mit der Combobox die Tabelle wechseln oder ein anderes Datum anwählen.

Wenn Du zur selben Tabelle und dem selben datum zurück gahst ist Dein Text wieder da. Du kannst ändern, löschen und neu eintragen, wie Du willst, das Programm kümmert sich automatisch um alles.

Gruß, Rainer
PS. Wenn Du den Beitrag abspeicherst, ist der Code leichter zu kopieren. :smile:

Hallo,

ich habe mal einen Screenshot hochgeladen

http://www.winhome.de/Scrsht.jpg

So sieht das bei mir aus.

Gruß, Rainer

Wo finde ich den dTPicker? :smile:

Wo finde ich den dTPicker? :smile:

In der Werkzeugsammlung hoffe ich. Welche VB6-Version hast Du denn? Einsteiger, Pro oder Enterprise? Den DTPicker gibt’s ab Pro.

Gruß, Rainer

Habe die Pro. Unter Project; Komponenten oder wo?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Habe die Pro. Unter Project; Komponenten oder wo?

Starte VB, dann sollte ein Fenster auf gehen in dem Du wählen kannst, was Du vor hast. Da wählst Du ‚VB PRO Edition Steuerelente‘ und OK. Dann ist der DTPicker in der Werkzeugsammlung am linken Rand.

Wenn das Fenster nicht aufgeht, dann klick mal auf Datei -> Neues Projekt, dann kommst Du auch zu dem Fenster. Dann Häkchen bei ‚Dieses Fenster immer anzeigen‘, sonst kannst Du ja kaum etwas mit VB machen.

Gruß, Rainer

Da ist er:

http://www.winhome.de/Scrsht2.jpg

:smile:

Funktioniert alles wunderbar. Allein hätte ich das nie geschafft. Wußte ja nichtmal das es den DTPicker gibt! :smile: Jetzt habe ich die VB Pro Controls auch eingestellt und da gibts ja wirklich jede Menge Sachen. Danke nochmals für die schnelle Hilfe.

Gruß

Steven

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Steven,

Funktioniert alles wunderbar.

Das ging aber schnell, freut mich! Dann viel Spaß mit den Datenbanken, das weißt Du ja jetzt, wie das geht.

Gruß, Rainer

Ja danke nochmals. Die Datenbanken sind auf den ersten Blick gar nichtr so kompliziert wei man meint. War aber auch nur eine agnz kleine :smile:

Gruß

Steven

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]