Datenbox Skript

Fragen und Tipps zur Datenbank

Datenbox Skript

Beitragvon unisoft ah » 05.01.2017, 00:17

Ich habe versucht ein Skript zu erstellen, welches alle Hauptadressen "Kombination[]02" oder die Kontaktpersonen mit "Kombination[]02" selektiert.
Es klappt schon nicht schlecht. :)

Wie muss ich die Selektion aufbauen, dass die Kontaktpersonen einer Hauptadresse weggelassen werden, wenn zwar die Hauptadresse in "Kombination[]02" passend ist, jedoch bei den Kontakpersonen der Wert "Kombination[]02" nicht zutrifft? :?

Das Skript sieht zur Zeit so aus:
Code: Alles auswählen
* Export Adressdaten Mandant cleanlife - Databox.Script
* -----------------------------------------------------
*
Activate(cleanlife);
*
*
** Export Adre_Adresse, Adre_Kontakt Kombination enthält 02, Einkauf oder 03, Verkauf
*
Export(Adre_Kontakt) File(K:\Daten\cleanlife\EXP_DATABOX\Adressen_02.xls) Format(Var) Sep(Tab)
Fields(Adre_Adresse.Kunde, Adre_Adresse.Lieferant, Adre_Adresse.AdressNr, Adre_Adresse.Name, Adre_Adresse.Vorname, Adre_Adresse.Anredecode, Adre_Adresse.Kombination, Kombination, Telefon, Anredecode, Adre_Adresse.Briefanrede, Briefanrede, Name, Vorname, Adre_Adresse.Strasse, Adre_Adresse.Postfach, Adre_Adresse.PLZ, Adre_Adresse.Ort, Adre_Adresse.E_Mail, E_Mail, Adre_Adresse.Sprache, Adre_Adresse.Kategorie,)
Group(0)
Join(Adre_Adresse:AdressNr=AdressNr)
Select(Adre_Adresse.Inaktiv=0, Adre_Adresse.Kombination[]02, -oder-, Inaktiv=0 , Kombination[]02), Mischen=1,)
Sort(AdressNr);
Benutzeravatar
unisoft ah
Buch
 
Beiträge: 874
Registriert: 04.11.2009, 15:26
Wohnort: Sarmenstorf

Re: Datenbox Skript

Beitragvon Kaiser » 05.01.2017, 10:10

Am einfachsten ist es, solche Selektionen vorerst in der Datenbox zu testen - da sieht man gleich, ob das Resultat wie gewünscht ist. Die Selektion sollte als Haupttabelle nicht die Kontaktpersonen, sondern die Adressen verwenden.

Code: Alles auswählen
Tabelle Adre_Adresse öffnen - dies ist die Haupttabelle

Verknüpfung zu Kontaktpersonen:
  Tabelle:   Kontakte
  Schlüssel: Nr
  =          Adresse

[_] Gruppieren deaktivieren

Selektionen:
  Adressen.Kombination [] 02
  ()
  Kontakte.Kombination [] 02


Übersetzt in ein Skript lauten diese Anweisungen so:

Code: Alles auswählen
Activate(Test);

Show(Adre_Adresse) Fields(AdressNr, Name, Vorname, Land, PLZ, Ort, Kombination, Adre_Kontakt.Name, Adre_Kontakt.Vorname, Adre_Kontakt.Kombination) Join(Adre_Kontakt:AdressNr=AdressNr) Group(0) Select(Kombination [] 02, (), Adre_Kontakt.Kombination [] 02);


Wichtig: Die Oder-Bedingung wird nicht durch "-oder-", sondern durch das Symbol "()" wiedergegeben (wegen der Mehrsprachigkeit).
Kaiser Software GmbH
Chefentwickler
Benutzeravatar
Kaiser
Administrator
 
Beiträge: 1283
Registriert: 03.11.2009, 16:50
Wohnort: Bern


Zurück zu Datenbank

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast