Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Textfeld in Bericht mit Kombinationsfeld aus Formular füllen

Begonnen von Frager123, Oktober 29, 2010, 10:05:15

⏪ vorheriges - nächstes ⏩

Frager123

Hallo,
ich versuch gerade ein Textfeld in einem Bericht durch ein Kombinationsfeld in einem Formular zu füllen.
Der User soll etwas auswählen und danach mit einem Button den Bericht öffnen. Im Bericht soll dann die Auswahl ngezeigt werden.

Was ist an diesem Code falsch:

---
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Me!Text2 = Forms!test!kombinationsfeldTest.Column(1)

End Sub
---


Thx

Malte

MzKlMu

Hallo,
nur zur Sicherheit, die Spaltenzählung beginnt mit 0. Die 1.Spalte hat also den Index 0.

Wenn Du auf die gebundene Spalte zugreifst, kannst Du das Column auch weglassen.
Gruß Klaus

Frager123

Hi,
ja das passt soweit, leider funktioniert es trotzdem nicht.

Malte

DF6GL

Hallo,

und WAS funktioniert nun nicht?


Ist das Form (noch) geladen?
Gibt es das Textfeld im Detailbereich des Berichtes?
Heißt das Form "test"?
Heißt das Kombi "kombinationsfeldTest" ?
Zeigt die Kombifeldliste in der zweiten Spalten auch die Werte an? , bzw. wie sehen die Spaltenbreiten aus?
Bezieht der Bericht überhaupt Daten aus einer Datenherkunft (Tabelle oder Abfrage)?

Frager123

Moin!
Das Textfeld im Bericht zeigt den im Kombinationsfeld ausgewählten Wert nicht an.

Ich treffe eine Auswahl mit dem Kombinationsfeld und öffne dann via einen Button den Bericht. Das Formular bleibt also geöffnet. Im Detailbereich des Berichtes gibt es das Textfeld "Text2", im Entwurfsmodus zeigt es "ungebunden" an.
Das Formular heisst "test". Das Kombinationsfeld heisst "kombinationsfeldTest". Der Bericht hat keine Quellen, er hat nur 2 Textfelder. Ich nutze diesen Bericht nur zum testen der Funktion. In einem anderen Bericht, der auch Quellen hat, kann ich es leider aber auch nicht realisieren.
Ich hab jetzt ein Kombinationsfeld mit nur einer Spalte, mit der Breite 2.54cm. Ich habe es sowohl einmal mit Column(0), als auch ohne Column Definition probiert.

Danke

Shai

Wenn die Bedingungen so sind, wie Du sie beschreibst, dann muss das eigentlich so gehen.
Ich habe das gerade eben mal ausprobiert, bei mir funktioniert das auch so. (siehe Test-DB im Anhang)
Wenn das Kombifeld allerdings nur 1 Spalte hat, dann kannst Du nicht mit ".Column(1)" aus der 2. Spalte einen Wert holen.
Schreibe also entweder ".column(0)" (= 1. Spalte) oder lass einfach ".Column" weg.

Code (vbnet) [Auswählen]
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
   Me!Text2 = Forms!test!kombinationsfeldTest
End Sub




[Anhang gelöscht durch Administrator]
zu viele Leute denken in Excel.

Frager123

Hi,
danke für die TestMDB. Hierdurch habe ich zufällig das Problem gefunden, bzw. kann es näher eingrenzen.
Wenn ich das Formular öffne, im Kombi etwas auswähle und dann per Button (einfacher Access Button, durch Assitenten erstellt) öffne, wird im Textfeld nichts eingetragen.

-> Wenn ich aber den Bericht nicht über den Button, sondern über das Menü öffne, funktioniert das Feld.


Hat einer eine Idee?


Shai

Was ist denn das für ein Trick?
Bist Du sicher, dass der Bericht, vorher geschlossen war, als Du ihn aus dem Formular heraus aufgerufen hast?
Öffnest Du den Bericht als Vorschau oder druckst Du direkt aus?
zu viele Leute denken in Excel.

Frager123

Hi,
ich habe es gerade nochmals mit einem anderen Bericht nachvollzogen!
Wenn ich den Bericht über den Button öffne, wird nichts angezeigt. Wenn ich Ihn direkt über das Menü öffne (Access Objekte) und dabei das Formular geöffnet ist - funktioniert alles.
Ich lasse eine Berichtsvorschau anzeigen.

@Shai: Der Bericht ist geschlossen.

Warum denn nur?


Frager123

Sorry,
hat ein bissel länger gedauert...
Habe jetzt rausgefunden, dass es an der Methodik liegt, mit der ich den Bericht öffne.
Mit einem Button, der per Assistent eingerichtet wurde, funktioniert es leider nicht.
Bin einem Button und "docmd.openreport...." funktioniert es tadellos!

Malte

DF6GL

Hallo,

der Assistent benutz auch nichts anderes als die Docmd.Openreport--Methode..


Wahrscheinlich hast Du dem Assistenten falsche Angaben seinerzeit gemacht....

Shai

#12
Zitat von: DF6GL am November 18, 2010, 14:33:31
Hallo,

der Assistent benutz auch nichts anderes als die Docmd.Openreport--Methode..


Wahrscheinlich hast Du dem Assistenten falsche Angaben seinerzeit gemacht....

... oder es wurde mit Access 2007 gearbeitet. Dort erstellt der Assistent standardmäßig ein Makro!

zu viele Leute denken in Excel.

Frager123

Richtig, es war sogar Access 2010.
Es wird ein Makro erstellt!