BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Access- Bericht (http://www.black-board.net/thread.php?threadid=11805)


Geschrieben von ennsiklopädie am 30.04.2003 um 08:31:

  Access- Bericht

Hallo,
ich kann in einem Access-Bericht die Eigenschaft Text oder Value eines Textfeldes über VBA nicht ansprechen. Ist das übehaupt möglich? Wie kann ich sonst einen bestimmten Text in dieses Textfeld eintragen?

Zur Situation:
Es werden drei Stringvariablen deklariert und sofort implementiert. Diese sollen dann in ein Textfeld eingefügt werden.

Private Sub Report_Open(Cancel As Integer)
Dim Name As String
Dim Vorname As String
Dim Leerz As String
Leerz = " "
Name = Form_EingabePers!Nachname.Value
Vorname = Form_EingabePers!Vorname.Value
Report_Empfehlungsschreiben!txtName.Text = Vorname + Leerz + Name
End Sub

Fehlermeldug: "Sie können die Eigenschaften oder Methoden eines Steuerelements nur dann auswerten, wenn das Steuerelement den Fokus hat."

Please help me!



Geschrieben von phlox81 am 30.04.2003 um 08:35:

 

verbindet man in VB Strings nicht mit & statt + ?
Und wieso liest du Value aus, setzt aber Text ?

Devil



Geschrieben von ennsiklopädie am 30.04.2003 um 09:08:

  Access- Bericht

Ich kann auch "&" nehmen. das ist aber nicht das Problem.( Ausserdem bin ich nicht in der VB, sondern VBA- Umgebung)
Ich lese Value aus, weil die Eigenschaft "Text" nicht funzt. Im Bericht habe ich Text und Value versucht: NIX GEHT. Bla,Bla....

Ich weiss, dass es falsch ist! (War auch nur ein Beispiel)

Meine Frage war und ist:

Wie kann ich während der Laufzeit einem Textfeld in einem Bericht einen Wert zuweisen? Welche Eigenschaft liest die Strings ein?



Geschrieben von phlox81 am 30.04.2003 um 09:18:

 

Hm, also, du müsstest dem Steuerelement den Focus geben.
schau mal ob es eine Steuerelementeigenschaft "GetFocus()" gibt.
Wenn ja, rufe sie vorher auf.

Devil



Geschrieben von ennsiklopädie am 30.04.2003 um 09:24:

  Access- Bericht

GetFocus() gibt es nicht. Habe stattdessen mit der Methode "SetFocus" versucht, geht auch nicht. Meine Zweifel an der Bequemlichkeit von VBA schlagen tiefere Wurzel Augen rollen



Geschrieben von phlox81 am 30.04.2003 um 09:35:

 

Welche parameter verlangt SetFocus() ?
Hm, vielleicht versuchst du mal bei VBA dein Glück über
google, hab ich früher auch immer was gefunden.

Devil



Geschrieben von Compuholic am 30.04.2003 um 12:08:

 

Das Problem ist folgendes.

Die Fehlermeldung heißt, daß die Eigenschaften eines Steuerelementes nur dann ausgelesen werden können, wenn das Formular auf dem es sitzt gerade aktiv ist.

Da ich mich Access auch nur am Rande beschäftigt habe, hab ich einfach eine Notlösung benutzt. Ich vermute mal, das Du die Daten, die in ein Formular eingetragen hast in einem Bericht ausgegeben werden sollen. In diesem Fall würde ich einfach einige zusätzliche nicht sichtbare Edit-Boxen in das Formular einfügen, die dann über VBA ihren Wert erhalten. Dann wird der Bericht aufgerufen, der die Werte aus den nicht sichtbaren Edit-Boxen einfach übernimmt.

Das bekommst Du mit dem Ausdruckseditor hin. Einfach im Entwurfsmodus des Berichtes das Feld markieren und auf den Ausdruckseditor wechseln. Dann kannst du ganz einfach festlegen was für einen Wert das Feld haben soll.



Geschrieben von ennsiklopädie am 30.04.2003 um 12:31:

  Access- Bericht

Habe diese Lösung schon länger laufen. Halte dies aber für wenig unprofessionell. (Was soll's es funzt)

Troztdem Danke @ compuholic Augenzwinkern



Geschrieben von Xeros am 04.05.2003 um 01:09:

 

@Devil81
Die Eigenschaft "SetFocus" hat eine andere Funktion als die hier im Zusammenhang gebracht wird! Nämlich "SetFocus" wird verwendet, wenn der Cousor in ein spezielles Feld gesetzt werden soll.
z.B.:

sub löschen_der_eingabemaske()
name.text=""
vorname.text=""
strasse.text=""
plz.text=""
...
name.setfocus
end sub
=> Hier wird die Eingabemaske/Userform gelöschen und der Cousor wird in dem Feld Name gesetzt.

@ennsiklopädie
ich verstehe nicht ganz das problem. Du willst einen wert aus dem formular im bericht anzeigen lassen. (wieso aus dem formular?)
wenn ich mir zuerst vorstelle in welcher verknüpfung die daten zueinander stehen, ist die ursprungsdatei in der rubrik tabelle verankert. dann würde ich mich nicht auf das formular beziehen sondern auf die tabelle, wo der auszugebene datensatz ist.
hat die tabelle in dem auszugebene datensatz als eigenschaft ein ja/nein-feld (im formular via radio-button, kontroll-button etc. ansteuerbar), dann kannst du im bericht eine bedingung im textfeld hineinschreiben, z.B. mithilfe der wenn-funktion.


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH