Combobox mit BoundTo=.T.

01/12/2009 - 15:43 von Winfried Wolf | Report spam
Zur Combobox hab ich mal ein paar Fragen..

Mein hàufigster Gebrauchsfall ist die Auswahl eines Namens aus einer
Tabelle, zu der ich aber den numerischen Schlüssel in der ControlSource
haben will. Wenn ich das so mache, funktioniert es wie ich will:

AgencyNo=0
ADD OBJECT ValAgency AS ComboBox WITH;
BoundTo=.T.,;
ColumnCount=2,;
ColumnWidths="150,0",;
ControlSource="ThisForm.AgencyNo",;
RowSourceType=3,;
RowSource="SELECT Name,KeyNo FROM agency ORDER BY 1 INTO CURSOR X",;
BoundColumn=2


1) Wenn ich "INTO CURSOR X" weglasse, bekomme ich immer ein
Browserfenster bei der Initialisierung. Làsst sich das irgendwie anders
vermeiden? Bei Verwendung von "INTO ARRAY laX" werden falsche Felder
verwendet. Wieso?

2) Eigentlich ist in meiner Tabelle agency schon alles vorhanden und sie
làsst sich auch nach name sortieren. verwende ich aber:

RowSourceType=2,;
RowSource="agency.name,KeyNo"

oder

RowSourceType=6,;
RowSource="agency.name,KeyNo"

so steht zwar das richtige in der ControlSource, aber mein Eintrag ist
unsichtbar. Halte ich das Programm im Valid-Event an, kann ich sehen,
dass der Eintrag da noch sichtbar ist und erst danach blank wird.
Wieso?

3) gleich noch ne Frage nebenbei: Was ist eigentlich genau der
Unterschied zwischen RowSourceType=2 und RowSourceType=6?


Gruß,
WiWo
 

Lesen sie die antworten

#1 Horst Kühn
02/12/2009 - 13:53 | Warnen spam
1) Wenn ich "INTO CURSOR X" weglasse, bekomme ich immer ein
Browserfenster bei der Initialisierung. Làsst sich das irgendwie anders
vermeiden? Bei Verwendung von "INTO ARRAY laX" werden falsche Felder
verwendet. Wieso?



Array :weiß ich so nicht
into Cursor ist genau das Mittel um das Browserfenster zu verhindern.

Lies mal die Hilfe, steht eigentlich ausreichend viel drin dazu
Und zwar unter:
How to: Choose the Type of Data for a List or Combo Box


3) gleich noch ne Frage nebenbei: Was ist eigentlich genau der
Unterschied zwischen RowSourceType=2 und RowSourceType=6?



Aus der Hilfe:

You can populate a list box or combo box with values from fields from a
single table. Unlike when RowSourceType is set to 2 (Table alias),
setting RowSourceType to 6 (Fields) makes it possible to display fields
independent of their actual positions in the table.



hth ein bißchen
Horst

Ähnliche fragen