Makro für wenn Funktion

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

MWi
***
Beiträge: 70
Registriert: So, 11.04.2010 14:52
Wohnort: NI

Re: Makro für wenn Funktion

Beitrag von MWi »

Hallo mueslikyrbi,

um Dein Problem zu lösen, brauchst Du kein Makro.
(Ich kann aber auch aus beiden Datenbanken eine Datenbank machen, wo dann einfach die untenstehende Tabelle Hinter die oben stehende gehängt wird.)
Da Du ja schon eine Datentabelle mit "Kundenadressen" hast, erweitere die Datenfelder (Name | Vorname | Straße | PLZ | Ort | Mitarbeiter bei) um die Datenfelder aus der anderen Tabelle (Firma | FaStraße | FaPLZ | FaOrt). Achte darauf, dass die Datenfelder nicht diesselbe Bezeichnung haben (deshalb habe ich "Fa" davorgesetzt). Ergänze diese mit den Firmenadresse.

Ich gehe davon aus, dass unter "Mitarbeiter bei" der Firmenname so eingetragen ist, wie Du ihn auch unter "Firma" (in der anderen "Firmen-"Tabelle) eingetragen hast und, dass das Feld "Mitarbeiter bei" leer ist, wenn der Kunde kein Mitarbeiter ist. Dann kannst Du die "Bedingung", ob Kunden- oder Firmenadresse erscheinen soll, damit steuern.

Um Dir mit den weiteren Schritten leichter weiterhelfen zu können, wäre es von Vorteil, wenn Du ein - ggf. neutralisiertes - Beispieldokument hier hochladen könntest (also den Serienbrief), damit ich sehen kann, wie Du die jeweiligen Anschriften (Du bezeichnest sie als "Adressfeld") aufgebaut hast und ich Dir sagen kann, wo und wie Du das Ausblenden/Einblenden der "Adressen" hinbekommst. Anderenfalls müsste ich raten:

Code: Alles auswählen

-- Firmenadresse --                  -- Kundenadresse --
Firma                                Vorname Name
Vorname Name                         Straße
FaStraße                             PLZ Ort
FaPLZ FaOrt
oder:

Code: Alles auswählen

-- Adresse --
Vorname Name
Firma
Straße
FaStraße
PLZ Ort
FaPLZ FaOrt
Bis hier erstmal "der erste Teil".

Gruß
Michael
Zuletzt geändert von MWi am Mi, 25.08.2010 12:36, insgesamt 1-mal geändert.
muesli
Beiträge: 3
Registriert: Mo, 16.08.2010 15:02

Re: Makro für wenn Funktion

Beitrag von muesli »

Hm ich glaube ich habe mich ein wenig Falsch ausgedrückt hier mal als beispiel die Daten:
Datenbank
Test forum.odb
Datenbank
(1.57 KiB) 50-mal heruntergeladen
Tabelle
Forums test.ods
Tabelle
(8.44 KiB) 45-mal heruntergeladen
Serienbrief
Test für Forum.odt
Serienbrief
(12.63 KiB) 45-mal heruntergeladen
Falls noch mehr Unklarheiten sind, einfach nachfragen.
MWi
***
Beiträge: 70
Registriert: So, 11.04.2010 14:52
Wohnort: NI

Re: Makro für wenn Funktion

Beitrag von MWi »

Hallo muesli,

Deine Beispieldokumente waren hilfreich und dürften mit etwas Nacharbeit zum Erfolg führen.

Gehe ich richtig davon aus, dass in Deinem Serienbrief
Forums test.ods
die rechte Seite mit den Serienbrieffeldern (= Kunde) immer sichtbar bleiben soll? Wenn ja, dann sind hier keine Änderungen erforderlich.

Auf der linken Seite möchtest Du jetzt:

Vorname Name
Str.
PLZ Ort

bzw. wenn der Kunde auch Firmenmitarbeiter ist:
Das Linke für eine Firma aber nur dann, wenn der Kunde = Mitarbeiter der Fima ist.
Firmenname
Vorname Name (des Mitarbeiters)
Str. (der Fa.)
PLZ Ort (der Fa.)

angezeigt bekommen? Für diesen Fall habe ich Deine Beispieldatei ergänzt um "Versteckte Absätze", denen ich die entsprechende Bedingung zugewiesen habe (Wenn Feld "Mitarbeiter" leer, dann verstecke Firmenadresszeilen bzw. umgekehrt.)

Oder: Soll dann links nichts sichtbar sein? (Was eigentl. keinen Sinn macht ...)

Wenn das so ok ist - prima.
Wenn nicht melde Dich.

Gruß
Michael
Dateianhänge
Test_fuer_Forum_bearbeitet.odt
Serienbrief (Ergänzung)
(8.85 KiB) 53-mal heruntergeladen
muesli
Beiträge: 3
Registriert: Mo, 16.08.2010 15:02

Re: Makro für wenn Funktion

Beitrag von muesli »

Das sieht so schon gut aus,
Allerdings ist imemrnoch das Problem, dass wenn ich z.b. Max Mustermann habe der in Firma a Mitarbeiter ist die Adresse von Firma e geschrieben bekomme.
Es sollte aber die von firma a dann auch kommen. Daher als ungefähre Wenn funktion für eine Zeile:
Wenn Spalte Mitarbeiter = Irgendeiner Firma aus Spalte Firmenname, dann poste mir Firmenname+Adresse1+Adresse2+PLZundOrt

Konkret so
Test_fuer_Forum_bearbeitet[2].odt
(11.1 KiB) 43-mal heruntergeladen
ETC...

MFG Oliver
MWi
***
Beiträge: 70
Registriert: So, 11.04.2010 14:52
Wohnort: NI

Re: Makro für wenn Funktion

Beitrag von MWi »

Hallo Oliver,

vielleicht schreiben wir aneinander vorbei ...

Du willst doch erreichen, dass die Firma, bei der ein Kunde auch Mitarbeiter ist, dann auf der linken Seite des Dokuments angezeigt wird. Ist der Kunde nicht Mitarbeiter, dann soll die Kundenadresse angezeigt werden???

Wenn Du in der Datentabelle zu jedem Kunden (also in den Datensatz = die Tabellenzeile) die richtige Firma eingetragen hast, dann wird auch die richtige Firma angezeigt. Das musst Du für jeden Datensatz so hinterlegen (Du hast keine relationale Datenbank/en!).

Code: Alles auswählen

Name   |   Vorname   |   Ort     |   Mitarbeiterbei   |   Firma   |   Adr1          |   FaOrt
Meier      Marie         Testort     aFirma               aFirma      Musterstr. 2      Musterort
Otto       Ingo          TestortB    bFirma               bFirma      M-Str. 99         Musterdorf
Wenn Du das so gemacht hast, dann kann dies nicht passieren:
wenn ich z.b. Max Mustermann habe der in Firma a Mitarbeiter ist die Adresse von Firma e geschrieben bekomme.
Es sollte aber die von firma a dann auch kommen.
Gruß
Michael
muesli
Beiträge: 3
Registriert: Mo, 16.08.2010 15:02

Re: Makro für wenn Funktion

Beitrag von muesli »

Hallo Michael
Das ist ja mein Problem. Die Kundendatenbank gab es zuerst.
Danach ist erst überlegt worden die Firmen Datenbank hinzuzufügen.
Dadurch hatte ich 2 Datenbanken. Da die Datenbank über 20.000 Kunden hat kann ich nicht für jeden Kunden die zugehörige Firma eintragen. Dann bin ich ja Tage beschäftigt.
Daher ist meine frage halt gewesen ob man dieses über eine Wenn Funktion, Schleife, Makro oder ähnliches lösen kann.

Also nochmal
In spalte Mitarbeiter steht Firma xyz in Spalte Firma sind die Firmen aber Alphabetisch geordnet. Daher Muss überprüft werden ob die Firma die bei Mitarbeiter eingetragen irgendwo in der Spalte Firma erscheint also Mitarbeiter: Firma = Firma 1 (Ja posten) (Nein weiter); Mitarbeiter: Firma = Firma 2 (Ja Posten) (Nein weiter) Mitarbeiter Firma = Firma 3 ...usw

Ob dieses überhaupt möglich ist weiß ich nicht.
Antworten