Immer mehr Eingabefelder hinzufügen

undertaker

Mitglied
Hallo!
Hab gleich noch eine Frage bzezüglich VB.
Also ich sollte volgendes machen:
Eine art einkaufsliste:
[Eingabefeld für Produktname] [EIngabefeld für anzahl]

Das Problem ist, dass die Anzahl der verschiedenen Produkte variiert.
Nun die Frage
ist es möglich, dass immer wenn in eine Zeile etwas eingegebn wird, automatisch eine nächste, gleiche zeile erstellt und angezeigt wird?
mfg
 
ich weiss nich genau, ob ich deine frage richtig verstanden habe, aber hier:

Code:
Private Sub Text1_Change()
			Text2.Visible = True
			Text2.SetFocus
End Sub

greez
 
Entweder so (statisch die Textboxen vorher erzeugen), oder du erzeugst sie dynamisch zur Laufzeit.
Das geht ungefähr so ( ungefähr, weil ich lange kein VB6 mehr benutze und mich nicht mehr richtig erinnern kann :) ):

Also zunächst legst du eine Textbox mit dem Namen arrText an, die erste. Dieser Textbox gibst du bei der Eigenschaft Index den Wert 0. Nun hast du ein Array von Textboxen. Jetzt machst du folgendes:
Code:
Dim anzTextbox As Integer
Dim vertAbstand As Integer
anzTextbox = 0
vertAbstand = 5 'musst du austesten
...

Sub .. 'Ereignis, bei der eine neue Textbox erstellt werden soll
  anzTextbox = anzTextbox + 1
  load arrText(anzTextbox)
  arrText(anzTextbox).left = arrText(0).left
  arrText(anzTextbox).top = arrText(0).top + arrText(0).height + (VertAbstand * anzTextbox)
  arrText(anzTextbox).visible = true
End Sub
Ohne gewähr, aber wenn ich mich recht erinnere, müsste das so gehen.
 
hm Funktioniert nicht... Es gibt zwar keine eigenschaft index sondern nur tabindex oder so aber das bringt auch nichts.
er sagt den fehler bei
load arrText(anzTextbox)
und zwar: Typen unverträglich

edit
es ist bei mri sowieso nicht möglcih label bzw textfeldarrays zu erstellen. hat das dwas damit zu tun das ich vba bei excel verwende oder bin ich einfach nur zu blöd?
 
Zuletzt bearbeitet:
undertaker hat gesagt.:
es ist bei mri sowieso nicht möglcih label bzw textfeldarrays zu erstellen. hat das dwas damit zu tun das ich vba bei excel verwende oder bin ich einfach nur zu blöd?
Nee, das ist richtig. Geht wohl nur mit VB6. Eine andere dynamische Möglichkeit kenne ich nicht - musst wohl zunächst statisch die Textboxen erstellen und dann ausblenden bzw. einblenden (siehe Beitrag Nr. 2).
 
Du kannst dynamisch über die load(index) Funktion Eingabefelder hinzufügen.
Du musst nur vor der Feld.Show Methode das Feld positionieren.
 
Zurück