PDA

Vollständige Version anzeigen : 2 Fragen zur Programmierung


Tzuy
10.07.2006, 10:41
Hey,

ich habe zwei Fragen mit denen ich mich schon etwas länger beschäftige. Ich komme aber irgendwie nicht weiter. Deshalb möchte ich einfach mal die Profis fragen:
1. Ich möchte anhand einer Text-Variable auf ein Feld in einem Formular zugreifen. Das ganze sollte dann also ungefähr so aussehen:

var1 = Array("ME.Feld1", "Me.Feld2")

For i = 1 To 2
var1(i).Visible = False
Next i

Nur diese Funktion funktioniert nicht, da nicht erkannt wird, dass mit der var1(1) und var1(2) ein Feld und nicht eine Variabel gemeint ist. Könnt ihr mir weiterhelfen?

2. Ist es möglich nach einem Eintrag aus einer Tabelle zu suchen und in ein Feld eines Formulars einzutragen ohne diese Tabelle (oder das dazugehörige Formular) vorher durch eine Funktion öffnen zu lassen?

DoCmd.OpenForm ("Bücher")<-- Diese Funktion möchte ich gerne entfernen
DoCmd.FindRecord Me.Barcode2, , False, , True, , True


Grüße
Tzuy

O_Stoehr
10.07.2006, 10:45
zu 2. - schau mal nach Dlookup - das sollte helfen ! ;-)

me.steuerelement = DLookup("buchtitel", "tbl_buecher", "barcode='015'")

TommyK
10.07.2006, 10:49
Hallo,

zu 1. siehe hier: Manipulation von Control-Properties in Formularen (http://www.access-beispiele.tommyk-webbox.de/bsp_frm.php#frm_prop)

Tzuy
13.07.2006, 10:48
zu 2. - schau mal nach Dlookup - das sollte helfen ! ;-)

me.steuerelement = DLookup("buchtitel", "tbl_buecher", "barcode='015'")


Alles klar danke, gibt es denn auch so eine Funktion um einen Datensatz zu löschen?


Hallo,

zu 1. siehe hier: Manipulation von Control-Properties in Formularen

Na dann scheint VisualBasic aber nicht so ne tolle Programmiersprache zu sein. Wenn man sich nur mit so welchen Krücken weiterhelfen kann.

Anne Berg
13.07.2006, 13:42
@1. Was hast du gegen diese Lösung?
var1 = Array("Feld1", "Feld2")
For i = 1 To 2
Me(var1(i)).Visible = False
Next i Ich könnte mir allerdings auch eine elegantere Variante, ohne Array, vorstellen... (so wie es Tommy bereits vorgeschlagen hat)

@2. Nein, zum Löschen brauchst du schon mindestens SQL:CurrentDB.Execute "Delete From tabelle Where feld1='X'"