Office: (Office 2010) Per VBA Textfeld in einem Bericht ändern

Helfe beim Thema Per VBA Textfeld in einem Bericht ändern in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Du bist im vba bereich, da gibt es keine makros mehr, sicher kann man docmd.runmacro fahren, aber das ist hier fehl am platze. Was verbirgt sich hinter... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von freak1982, 14. August 2013.

  1. Per VBA Textfeld in einem Bericht ändern


    Du bist im vba bereich, da gibt es keine makros mehr, sicher kann man docmd.runmacro fahren, aber das ist hier fehl am platze.
    Was verbirgt sich hinter rs beschreibung value?
     
  2. Du solltest als erstes die Begriflichkeiten lernen.
    Ein Textfeld unterscheidet sich von einem Bezeichnungsfeld.
    Code:
    "Caption" ist eine Eigenschaft des Bezeichnungsfeldes.
    Also handelt es sich um Bezeichnungsfelder, oder?
    In #11 habe ich geschrieben was Du machen sollst.
    vorher aber die Eigenschaft auf [Ereignisprozedur] stellen oder im folgenden Dialog-Fenster "Code-Generator" wählen.
    Dann wird Dir automatisch eine entsprechende Prozedur angelegt.
    Dazwischen schreibst Du deinen Code
    Code:
    Um Werte aus der Datenherkunft des Berichtes den Bezeichnungsfelder zuzuweisen, musst Du diese als "versteckte" Felder in den Berichtsbereich setzten (myCaption, myDescr) und mit den entsprechenden Feldern verbinden und unsichtbar machen.
    Eine direkte Verwendung von Datenherkunftsfeldern zur Änderung der Bezeichnungsfelder ist mir (bis Acc2003) nicht bekannt. Vielleicht geht das aber in Acc2010??

    HTH
     
  3. Ok ich habe vergessen, codegenerator auswählen stimmt
    @blackpit
    Was verstehst du unter datenherkunftsfeldern?
     
  4. Per VBA Textfeld in einem Bericht ändern

    Das ist i.R. die Datenherkunft des Berichts und somit die Felder = Datenherkunftsfelder
    Oder bekommst Du die Werte aus einem eigenen Recordset?
     
  5. Was spricht dagegen, beim formatieren oder einem anderen ereignis, eine andere tabelle/abfrage aufzumachen und sich werte aus einer völlig anderen herkunft herzuholen....? Zb auch aus einem formular. ?.
    Da ist man doch flexibel
     
  6. Seit Acc2002 gibt es für OpenReport OpenArgs. Dieses Argument kann man bestens für die Übergabe von einzelnen Werten verwenden:
    Code:
    An was genau die Werte übergeben werden sollen, habe ich nicht verstanden.
     
  7. Hallo zusammen,

    sorry das ich mich erst jetzt melde, hatte am WE aber kein Internet.

    Ich habe ein Recordset mit Datensätze. Diese werden mit einer Schleife durchlaufen.
    In rs("Überschrift").Value stehen Text und die Sollen dann im untenstehenden Makro in die jeweiligen Textfelder reingeschrieben werden:

    Code:
    Wie kann ich jetzt dieser Prozedur die Werte rs("Überschrift").Value übergeben.
     
    freak1982, 18. August 2013
    #22
  8. Per VBA Textfeld in einem Bericht ändern

    Hi ich habe mal ebs17 Lösungsvorschlag eingearbeitet:

    Code:
    und

    Code:
    Leider wirft er mir bei Code:
    die Fehlermeldung Laufzeitfehler '2501'
    Die Aktion OpenReport wurde abgebrochen raus ...
     
    freak1982, 18. August 2013
    #23
  9. Wenn ich

    Code:
    eingebe, wird die Prozedur aufgerufen und es scheint zu funktionieren *Smilie
     
    freak1982, 18. August 2013
    #24
  10. Die Prozedurerstellung solltest Du auch immer aus der Anwendung (Eigenschaftsfenster) heraus machen und nicht manuell eintragen.
     
  11. Hi,

    nachdem ich jetzt die Änderung hinbekommen habe mit euer Hilfe stehe ich vor einem neuen Problem.

    Ich würde den Bericht gerne abspeichern:

    Code:
    Aber irgendwie schliesst er den Bericht, speichert aber nicht....

    Im Netz habe ich glaube ich ein ähnliches Problem gefunden:

    http://social.technet.microsoft.com/...dert-wurde-vba

    Aber ich bekomme nicht die Umgehungslösung für mich hin. Hat jemand eine Idee?
     
    freak1982, 19. August 2013
    #26
  12. Was soll der Bericht denn speichern? Daten sind und bleiben in Tabellen und werden im Bericht nur angezeigt.

    Wenn Du die Berichtsansicht fixieren möchtest, solltest Du an ein PDF denken.
     
  13. Per VBA Textfeld in einem Bericht ändern

    Hi ebs,

    es ist so, dass ich einen Hauptbericht habe unter dem viele Unterberichte liegen. Der Hauptbericht wird mehrmals hintereinander geöffnet, immer nachdem die zu grundeliegende Tabelle der Unterberichte aktualisiert sind. Diese Tabellen enthalten aber nicht alle Angaben wie beispielsweise Seitenzahlen etc.

    Wenn ich jetzt diese Änderungen in den Unterberichten vornehme, was ja funktioniert, und am Schluss den Hauptbericht öffnen, enthält der Hauptbericht nicht diese Änderungen. Im Makrorecorder wird zunächst


    Hauptbericht:
    Code:
    ausgeführt, aber danach auch

    Unterbericht:
    Code:
    ausgeführt für die Unterberichte aber die if Bedingung dann übersprungen.

    Jetzt dachte ich mir speicher ich den Unterbericht müsste es funktionieren ...

    Die PDF werden erst ganz zum Schluss aus dem Hauptbericht erzeugt.
     
    freak1982, 19. August 2013
    #28
  14. So geht es nicht:
    - ÖffnenArgumente können nur dem Hauptbericht übergeben werden.
    - Ein Speichern macht nur Sinn, wenn Du in der Entwurfsansicht Änderungen vornimmst. Das willst Du sicher nicht wirklich.

    Die OpenArgs-Variante ist deshalb schön, weil hier die Informationen mit dem Berichtsöffnen übergeben werden, d.h. der Bericht bleibt an der Stelle selbständig und ist nicht von anderen Objekten abhängig.
    Nicht so schön, aber durchaus praktikabel ist die Variante, wo sich der Bericht (und dessen Unterberichte + Steuerelemente) die Informationen holen. Hier besteht dann eine zusätzliche Abhängigkeit von der Herkunft der Informationen.

    Beispiel: In einem Textfeld eines geöffneten(!) Formulars steht die benötigte Information. Eine Funktion in einem Standardmodul holt sich diese Information, die Funktion dient ihrerseits als Steuerelementinhalt des Berichtscontrols.
    Code:
    Statt eines Formulars könnte so eine Funktion auch etwas anderes auslesen (Recordset, Array, ...).

    Da Du Daten aus einem Recordset holst, müssten man da einen schlüssigen einfachen und direkten Weg wählen. Wie entsteht das Recordset?
     
  15. D.h. ich kann nicht den Hauptbericht aufrufen mit

    Code:
    in welcher "suebergabe" auch die Infos für die Unterbericht enthält?

    Mit dem Überspeichern des Berichtes hätte ich kein Problem, wenn es funktionieren würde mit

    Code:
    Aber aus irgendeinem Grund macht es das nicht.


    Zu deiner Frage:

    Aus einem Formular wird ein Datum herausgezogen.

    Dies ist notwendig um das Recordset zu erstellen.

    Dann muss 6 mal der Hauptbericht aufgerufen werden über eine Schleife, jedesmal ändert sich dann den Tabellen Überschriften der Unterberichte etc. (welche auch im Recordset liegen) und Seitenzahlen (liegen nicht im Recordset):

    Code:
    Wie gesagt das Änder klappt jetzt, es ist leider nur nicht dauerhaft was gerade bei den Unterberichten das Problem ist, der Hauptbericht kann ich als PDF speichern da wäre es kein Problem.

    Bei der "OpenArgs-Variante" müsste ich glaube ich auch Daten irgendwo zwischenspeichern wenn ich halb wegs richtig verstehe (ist alles neu für mich). Da wäre mir das Überspeichern ehrlich gesagt am liebsten.


    In dem Link sagt er das man noch etwas verändern muss bei visible und dann wäre eine speicherung möglich, geht das irgendwie?
     
    freak1982, 19. August 2013
    #30
Thema:

Per VBA Textfeld in einem Bericht ändern

Die Seite wird geladen...
  1. Per VBA Textfeld in einem Bericht ändern - Similar Threads - VBA Textfeld Bericht

  2. Über VBA Bild in den Hintergrund legen

    in Microsoft Excel Hilfe
    Über VBA Bild in den Hintergrund legen: Hallo, ich füge in Excel ein Bild über einen Bildpfad hinzu und möchte nun, dass das Bild immer in den Hintergrund geblendet wird, damit eine Textbox über dem eingefügten Bild liegt. Genial...
  3. VBA Text aus einem Textfeld auslesen

    in Microsoft Excel Hilfe
    VBA Text aus einem Textfeld auslesen: Hallo zusammen, ich sitze momentan an einem kleinen Programm. Ich habe eine Userform erstellt, mit einem Textfeld, das Texfeld soll ausgelesen werden, mit dem Text im Feld soll ein neues...
  4. Textfeld / Box per VBA erstellen und formatieren

    in Microsoft Word Hilfe
    Textfeld / Box per VBA erstellen und formatieren: Hallo zusammen, ich möchte per VBA an einer belibigen Stelle im Word-Dokument ein Textfeld erstellen und formatieren. Ersters habe ich schon hinbekommen, jedoch stehe ich beim Formatieren auf...
  5. Listenfeld mit VBA auslesen und Textfeld befüllen

    in Microsoft Access Hilfe
    Listenfeld mit VBA auslesen und Textfeld befüllen: Guten Tag alle zusammen, ich habe ein Listenfeld in einem Formular, ich möchte auf diesem einen Wert aus der Liste auswählen, dann auf einen "OK" button klicken, den Ausgewählten Wert in einer...
  6. Anzahl Zeichen Textfeld begrenzen mit VBA

    in Microsoft Access Hilfe
    Anzahl Zeichen Textfeld begrenzen mit VBA: Hallo, beim Verlassen des Textfeldes prüfe ich, ob ich die Länge des Textfeldes größer 5 Zeichen ist: Code: Private Sub name_Exit(Cancel As Integer) If Len(Me.name) > 5 Then MsgBox "HALT STOP"...
  7. VBA bestimmte Textfelder in Bericht ausblenden

    in Microsoft Access Hilfe
    VBA bestimmte Textfelder in Bericht ausblenden: Moin, habe ein Formular erstellt, sowie eine Schaltfläche. Die Schaltfläche soll einen Bericht öffnen. Allerdings sollen die Textfelder in dem Bericht die den Inhalt "keine" beinhalten nicht...
  8. Kommentar Popup entfernen

    in Microsoft Excel Hilfe
    Kommentar Popup entfernen: Hallo miteinander, Ich habe folgendes (Lästiges) Problem: Und zwar haben wir für unsere Arbeitszeit-/ Leistungserfassung eine Excel in dem wir unsere Tätigkeiten mit eintragen sollen....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden