Office: (Office 2013) Bericht "nachrichtlich an:" WENN zweite Adresse vorhanden ist

Helfe beim Thema Bericht "nachrichtlich an:" WENN zweite Adresse vorhanden ist in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Ich habe mit Hilfe diese Forums schon viel erreicht und traue mich jetzt, dass Erreichte auch an andere zu schicken: Ich möchte Berichte an Hausärzte... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Milliways, 3. Februar 2016.

  1. Bericht "nachrichtlich an:" WENN zweite Adresse vorhanden ist


    Ich habe mit Hilfe diese Forums schon viel erreicht und traue mich jetzt, dass Erreichte auch an andere zu schicken: Ich möchte Berichte an Hausärzte verschicken.
    Der Bericht sieht gut aus und der Hausarzt steht auch als Empfängeradresse im Kopfbereich des Berichtes. Jetzt gibt es aber Patienten, die zwei oder mehr Ärzte angegeben haben.
    Ich möchte also eine Zeile mit "Nachrichtlich an:" anzeigen lassen und dort dann auch die Adresse des zweiten Arztes eingetragen haben, WENN es einen zweiten Arzt zu diesem Patienten gibt.

    :)
     
    Milliways, 3. Februar 2016
    #1
  2. Wo findet sich denn diese evtl. zweite/dritte ... Adresse? Tabellentechnisch in Bezug zur Datenherkunft des Berichts meine ich.
    maike
     
  3. Es gibt eine Tabelle ("tbl_pat_ha") in der alle Hausärzte zu allen Patienten ("tbl_patienten") gespeichert werden. Verknüpft sind die Tabellen über die Pat_ID (genannt "Pat_Counter").
    Nebenbei gibt es noch eine Tabelle "tbl_hausärzte" in der die kompletten Adressen der Hausärzte stehen. Diese ist mit "tbl_pat_ha" über die ID verknüpft.
    Das bedeutet, dass es in der "tbl_pat_ha" manche Patienten gibt, die mehrmals, mit jeweils verschiedenen HA_ID auftauchen. (Ich habe da mal ein Bild angehängt). Und wenn das der Fall ist, möchte ich das "Nachrichtlich an:" haben.
     
    Milliways, 5. Februar 2016
    #3
  4. Bericht "nachrichtlich an:" WENN zweite Adresse vorhanden ist

    Wenn du in der Tabelle tab_pat_HA den "Hauptarzt" irgendwie gekennzeichnet hast, könntest du die weiteren mit Hilfe der Funktion sqlListe in ein Zusatzfeld schreiben:
    Code:
    Das SQL-Statement anpassen (mit Join auf die Adresstabelle) und den Code im Ereignis beim Formatieren des entsprechenden Berichtsbereiches einsetzen.
    Die Funktion sqlListe von hier VBA Tipp: Liste per SQL aufbauen – DBWiki in ein allgemeines Modul kopieren und dieses z.B. modSQLListe nennen (alles, nur nicht genau so wie die Funktion).

    maike
     
  5. Vielleicht kommst du mit einer UNION-Abfage weiter(geht leider nur im SQL-Modus). Tipp: erstelle je eine normale Abfrage für Arzt1, Arzt2 und Arzt3. Dann kannst du die SQL-Anweisungen der 3 Abfragen in eine neue Abfrage4 kopieren und einfach UNION dazwischen schreiben... Da UNION identisch strukturierte Tabellen erwartet, musst du nur die Felder Arzt1, Arzt2 und Arzt3 bit einen identischen Alias versehen, s.u. (Ich gehe dabei davon aus, dass du in deiner Patienten-Tabelle separate Felder für Arzt1, Arzt2 und Arzt3 hast.)

    select , Arzt1 as Adressat from usw.
    union
    select , Arzt2 as Adressat from usw. where Arzt2 0
    union
    select , Arzt3 as Adressat from usw. where Arzt3 0

    das würde eine Tabelle wie folgt ergeben:
    Adressat
    1234
    4356

    die man mit natürlich mit join zur Arzt-Tabelle (Adressat) verknüpfen müsste.

    Im Bericht könntest du dann Arzt1, Arzt2 und Arzt 3 als Infofelder anzeigen, etwa "Dieser Bericht geht an"&Arzt1-Name&", "&Arzt3-Mame...
    Die Adresse müsste sich jeweils nur auf "Adressat" beziehen (Name, Anschrift ...).

    Nur so eine Idee, aber vielleicht ist das der Weg, der allerdings noch etwas Feinarbeit benötigen wird...

    Grüße,
    Dinkel
     
  6. Hmm - das scheint doch komplizierter zu sein, als gedacht.
    Ich habe jetzt erst einmal ein Feld in die Tabelle mit dem Hausärzten hinzugefügt, mit dem ich den Arzt markieren kann, der den Brief nachrichtlich erhalten soll (HA_nachrichtlich, Format: Ja/Nein).
    Ich wollte jetzt als etwas mit =Wenn() machen. Etwas so:

    Code:
    Das "Nein!" steht da nur drin, damit ich sehe, ob der Code funktioniert. Das kommt später weg.
    Ich bekomme so aber immer nur ein "Nein!" angezeigt. Das ist insofern verständlich, weil der Bericht nur den ersten Datensatz Hausärzte anzeigt und der hat keinen Haken bei "HA_nachrichtlich". Aber auch wenn ich bei allen Ärzten einen Haken setze, sagt der Bericht immer "Nein!" Ich lasse mir sogar das Kontrollkästchen anzeigen (zum Überprüfen) und sehe dort den gesetzten Haken. Trotzdem bekomme ich ein "Nein!". Und wenn ich das doch hinkriege, wie würde ich dem Bericht sagen können, dass er schauen muss, ob es nicht einen anderen Datensatz mit einem Haken gibt? Das geht wahrscheinlich nur über den Detailbereich. Oder eine extra-Abfrage?
     
    Milliways, 5. Februar 2016
    #6
  7. Hallo,
    das mit dem Häkchen liegt wohl daran, dass Ja/Nein-Felder intern als 0 oder 1 gespeichert werden (oder als -1 und 0 ? - weiß ich momentan leider nicht).
    Probier mal, in deinem Wenn-Statement mit 0 zu vergleichen. Oder mit TRUE.

    Vielleicht kann jemand anderes dies klarstellen.

    Meine Idee mit der Union ging eher davon aus, alle Berichte auf einen Rutsch mehrfach zu drucken.

    Aber das ist wohl falsch, denn vermutlich druckst du eher nur je einen Bericht oder zumindest nur wenige pro Tag, die du über den Patienten auswählst.

    Wenn dem so ist, könntest du natürlich auch im Formular zwei Buttons platzieren: Hauptbericht drucken und Konsiliarbericht drucken. Dies hätte noch den Vorteil, dass du unterschiedliche Berichte definieren könntest, z.B. im Hauptbericht "Dieser Bericht geht auch an: " und im Konsiliarbericht "...vielen Dank für die Überweisung..." oder was auch immer.

    Vielleicht hilft diese Idee besser.

    Gruß
    Dinkel

    PS: Hat eigentlich meine Lösung zum Thema "Gewicht-Mittelwert-Bericht" funktioniert?
     
  8. Bericht "nachrichtlich an:" WENN zweite Adresse vorhanden ist

    Ich habe jetzt folgendes gemacht:
    Code:
    Damit bekomme ich schon mal den ersten Hausarzt angezeigt. Was ich noch nicht hin bekomme, ist der Verweis auf eine inzwischen erstellte Abfrage, die mir alle "Zweitärzte" auflistet, also die, die einen Brief in Kopie bekommen sollen. mit Code:
    kann der Bericht nichts anfangen. Er fragt dann immer nach einer Eingabe für "qry_ha_nachrichtlich", obwohl ich die über die Pat_ID und die HA_ID eingebunden habe.
     
    Milliways, 6. Februar 2016
    #8
  9. Sind da Leerzeichen vor und nach "!"?
     
  10. Mit Hilfe Deiner Überlegungen und in Kombination mit anderen Lösungen, die mir vorgeschlagen wurden, habe ich eine Lösung entwickelt, die nicht nur genau das bot, was ich wollte, sondern mir auch ungeahnte neue Möglichkeiten eröffnet hat. Nur darum bin ich jetzt in einem Stadium, wo ich mich traue, die Ergebnisse dieser Entwicklung mit anderen zu teilen. Ich habe durch Deine Hilfe und die der anderen derart ungeahnte Möglichkeiten entdeckt, dass ich Nachts schon davon träume, was alles noch möglich ist. Mein Pech ist, dass ich zu Hause einen Mac stehen habe und nur auf der Arbeit an der Datenbank arbeiten kann. Zum Glück habe ich dieses Wochenende Dienst. Meine Frau denkt, ich mache die ganze Zeit Visite. In Wirklichkeit habe ich ein Verhältnis mit einer Datenbank. *grins
    Vielen Dank für den Einsatz!!!!
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Milliways, 6. Februar 2016
    #10
  11. Nee - das ist nur ein Abtippfehler. Die Datenbank ist auf einem Rechner ohne Internetzugang. Ich habe hier zwei Rechner nebeneinander stehen und ich tippe immer alles ab. Da kann das mal passieren.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Milliways, 6. Februar 2016
    #11
  12. Was ist mit der SqlListe? Ich finde die entschieden flexibler als alle Wenn-Dann-Konstrukte.
    maike
     
  13. Bericht "nachrichtlich an:" WENN zweite Adresse vorhanden ist

    Ich nutzte die von mir beschriebene Form, weil ich die Anweisungen so direkt in ein nicht-gebundenes Textfeld eingeben kann und ich so wunderbar formatierten Text bekomme, der sich 1a den Inhalten anpasst.
    Ich habe keine Ahnung, wie ich das mit SQL machen kann...
     
    Milliways, 7. Februar 2016
    #13
  14. Also wenn ich das richtig gelesen habe, dann hast du jetzt in der tbl_Hausärzte noch ein Feld "Nachrichtlich"
    (NB: Umlaute und Sonderzeichen in Tabellen- und anderen Datenbank-Objekt-Namen soll man vermeiden)

    Ist denn sicher, dass der Arzt Dr. Huber bei allen Patienten der Hauptarzt ist und Dr. Bichler bei allen der "nachrichtliche" ??

    Aus meiner Sicht müsste dieses Feld "Nachrichtlich" in die tbl_pat_ha. Dann kannst du pro Patent sagen, welcher der Hauptarzt ist und welche(r) nachrichtlich.

    Damit ist es an sich einfach, mit einer Abfrage die alle 3 Tabellen enthält, noch ein Feld in der Abfrage anzulegen:
    IstNachrichtlich:IIF(tbl_pat_ha!Nachrichtlich;"Nachrichtlich";"")
    Du wirst dann in der Spalte entweder leer oder eben "Nachrichtlich" haben.
    Das druckst du auf dem Bericht wie jedes andere Feld an.

    Pro Eintrag in der tbl_pat_ha bekommst du je einen Datensatz mit allen Angaben, die brauchst du ja, um bei einem Patienten mit 3 Aertzen auch 3 Berichte auszudrucken
     
  15. Die qry ist nicht in der Datenherkunft des Berichts, daher kennt er sie nicht. Da müsstest du dann mit Dlookup() arbeiten.
    Die Funktion SQLListe gibt einen String zurück. Den kannst du bei der Erzeugung schon vorformatieren (Trennzeichen etc.) und ggf. auch später noch weiter für dein Textfeld anpassen.
    maike
     
Thema:

Bericht "nachrichtlich an:" WENN zweite Adresse vorhanden ist

Die Seite wird geladen...
  1. Bericht "nachrichtlich an:" WENN zweite Adresse vorhanden ist - Similar Threads - Bericht nachrichtlich zweite

  2. Bericht per VBA formatieren

    in Microsoft Access Hilfe
    Bericht per VBA formatieren: Hallo, kann ich in einem Bericht die Rahmenfarbe im Detailbereich, auf Grundlage eines Werts im Datenfeld (lblZeitrahmen) verändern? Wert 1 = Orange Wert 2 = Rot Wert 3 = grün Wert 4 = blau...
  3. Im Bericht nach Gruppen sortieren

    in Microsoft Access Hilfe
    Im Bericht nach Gruppen sortieren: Hallo zusammen Ich habe eine Frage auf die ich keine Antwort gefunden habe. Ich habe in einer DB verschiedene Länder mit Städten und deren Einwohner. Jetzt will ich in einem Bericht diese Länder...
  4. betimmten Montag als Datum in Bericht anzeigen

    in Microsoft Access Hilfe
    betimmten Montag als Datum in Bericht anzeigen: Hallo, Ich möchte in Access einen Bericht erstellen. Der holt verschiedene Daten und stellt die dar. Der Bericht soll eine Überschrift bekommen, unter anderem mit zwei Datumsangaben: einmal das...
  5. 2 Berichte in eine Excel-Datei exportieren

    in Microsoft Access Hilfe
    2 Berichte in eine Excel-Datei exportieren: Hallo, ich möchte gerne 2 Berichte per VBA in je ein Register einer Excel-Datei exportieren, die dabei erstellt werden soll. Mit dem Befehl "DoCmd.OutputTo acOutputReport, "Bericht1", acFormatXLS,...
  6. Access Berichte

    in Microsoft Access Hilfe
    Access Berichte: ich habe einen Bericht erstellt mit Datenbasis einer Abfrage. Nun möchte ich in einem Formular unter Verwendung eines Kombinationsfeldes einen Datensatz auswählen und diesen im Bericht ausgeben....
  7. Bericht Seiten (PDF) formatieren

    in Microsoft Access Hilfe
    Bericht Seiten (PDF) formatieren: Hallo, ich falle einmal am besten mit der Tür ins Haus. Ich habe mir eine DB erstellt mit den Daten zu Schiffen als Datensätze. Das Ziel ist es, zu jedem Schiff einen Datensatz als PDF auszugeben....
  8. Bericht mit optionalen Feldern

    in Microsoft Access Hilfe
    Bericht mit optionalen Feldern: Hallo Zusammen, in einem Bericht sollen bestimmte Felder nur auftauchen, wenn das Kontrollkästchen ResIncl im Eingabeformular frm_Einheitendaten_reg angehakt wurde. Bedingung: Das soll auch...
  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