Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Access - Felder auf 0 setzen / Eingabemaske





Frage

Hallo! Wie kann ich den Startwert von Feldern in einem Formular auf 0 setzen, d.h. so dass er mir keinen Wert anzeigt, wenn ich die Maske aufrufe, erst wenn ich einen bestimmten Wert auswähle. Und wie erstelle ich ein Formular dass mir keine Werte ausgibt, sondern mit dem ich Daten in eine Tabelle hinzufügen kann... Vielen Dank! n8 Zeroo

Antwort 1 von oliverV

Hallo Zeroo,

mit Startwert meinst du sicherlich den Standardwert, den kannst du bei den Feldeigenschaften unter dem Register Daten. Dieser Wert greift aber nur bei einem neuen Datensatz.
Um was für Felder handelt es sich ? Textfelder oder Kombi-/Listenfelder ? Gebundene oder ungebundene Felder ?
Was meinst du mit ...einen bestimmten Wert auswähle...?

Zum zweiten Teil der Frage:
Variante 1) Beim Öffnen des Formulars kannst mit der Makro-Aktion „GeheZuDatensatz“ bzw. mit der VBA-Methode „GoToRecord“ zum neuen Datensatz wechseln; zusätzlich könntest du einen Filter setzen, der die vorhandenen Datensätze „herausfiltert“ (z.B. Kriterium ID).

Variante 2) Benutze ein ungebundenes Formular mit ungebundenen Formularfelder, nach Datensatzerfassung musst du dann die erfassten Werte an deine Tabelle anfügen. Dazu kannst du eine Anfügeabfrage ausführen, die RUNSQL-Methode verwenden, oder ein Recordset verwenden.

Gruß

Oliver


Antwort 2 von Zeroo

Hi oliverV!

Danke für deine Antwort!

Zum ersten Teil der Frage:

Ich habe eine Tabelle mit diversen Eigenschaften von Klimaanlagen (beilspielsweise).

Jetzt kann ich über versch. Auswahlfelder die Kriterien einschränken und so die Klimaanlagen einschränken die er mir in der Tabelle anzeigt.

http://www.planet-moon.net/download/db1.JPG

Hier ein Screenshot einer frühen Version.


Jetzt das Problem:

Wenn ich jetzt eine solche Klimaanlage aus der Tabelle anklicke habe ich nun weiter unten Felder eingefügt, die ALLE detaillierten Eigenschaften des Artikels zeigen. Wenn ich das Formular aufrufe zeigen diese automatisch alle Eigenschaften des Artikels mit der ID "1" an ... und genau das will ich ihnen abgewöhnen. Sie sollen erst Daten anzeigen wenn ich einen Artikel aus der Tabelle ausgewählt habe.


Gruuuuß

Zeroo

Antwort 3 von oliverV

Hallo Zeroo,

ist der Datenbereich ein Listenfeld oder ein Unterformular ?
Wie sieht das Klick-Ereignis aus ? (Des Listenfeldes oder eines UFO-Feldes)

Ist beim Formular-öffnen der erste Datensatz markiert (beim Listenfeld) ?

Ist in der Ferndiagnose recht schwierig, da ich nicht weiß, wie und welche Detaildaten du dir anzeigen lässt. Wahrscheinlich ist die Lösung dort zu suchen.


Gruß

Oliver


Antwort 4 von Zeroo

Guguck Oliver!

Ich hab grad keine Ahnung was du mich da gefragt hast :S ...
Also ich beschreibe es mal mit meinen Worten:

Ich habe (auf einer Tabelle aufbauend) ein Formular erstellt (mit dem Assistenten) und alle Spalten/Merkmale der Tabelle in das Formular eingefügt. (Das ist mein Detailbereich, den ich am Anfang auch auf 0 haben möchte)
Danach habe ich ein Listenfeld eingefügt (der Screenshot) mit einigen wenigen markanten Merkmalen aus der Tabelle und dem Befehl

---
Private Sub Liste264_AfterUpdate()
' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.
Me.RecordsetClone.FindFirst "[ID] = " & Me![Liste264]
Me.Bookmark = Me.RecordsetClone.Bookmark
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
End Sub
---

also: wenn ich in dem Listenfeld auf ein Artikel klicke, dann spuck ihn mir im Detailbereich aus!

So funktioniert das Formular.


Der Anfangswert von meinem Detailbereich ist aber bei jedem Start [ID] = 1 (der vergebe ich als Autowert)
Darf aber nicht sein!
Standartwert einfach auf "0" setzen klappt nicht.

Vielen Dank für deine Geduld!

Gruuuß
Zeroo



Antwort 5 von oliverV

Morgen Zeroo,

gut ist etwas klarer geworden.

Ein Standardwert im Listenfeld bringt dir nichts, da dieser nur Wert nur bei einer Datensatzneuerfassung eingetragen wird.

Ich denke mir, das das ganze Formular und das Listenfeld gebunden sind; du öffnest das Formular und der erste Datensatz besitzt den Focus.

Ich würde vorschlagen schau dir mal den 2. Teil der Antwort 13 in diesem Beitrag an.

Gruß

Oliver


Antwort 6 von Zeroo

Hi Oliver!

Danke nochmal für die Mühe, musste aber aus Zeitgründen etwas abkürzen und hab jetzt einfach den ID Wert "1" als so ne Art Defaultwert genommen und einfach keine Daten eingetragen... ist nicht optimal, aber so erreiche ich auch was ich wollte.

Dicken Gruß an dich!

Zeroo

Antwort 7 von Zeroo

...ah nein ich hab doch noch den Stein der Waisen gefunden ...


Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
End Sub



...dann habe ich als ersten Wert (AutoWert) stehen ... passt :) *froi*


Danke trotzdem für die Mühen!!!

Gruuuß
Zeroo

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: