Hallo,
ich habe das Problem, dass ich um das Suchsystem zu optimieren, eine ganze Menge gleicher Daten in gleiche Felder verschiedener Kontakte eintragen muß.
Das wird sehr zeitaufwendig und ich stelle mir die Frage, ob es nicht eine Möglichkeit in Act oder vielleicht mittels eines AddOns gibt, die die Eingabe beschleinigt.
Für jeden konstkuktiven Beitrag bin ich sehr dankbar.
Grüße Olivio
Feldeinträge für mehrere Kontakte gleichzeitig
Moderatoren: Ingrid Weigoldt, Schlesselmann, Robert Schellmann
Hallo,
da anscheinend keiner weiß wie es geht, hier meine eigene Erkenntnis:
In der Kontaktansicht auf Bearbeiten -> Ersetzen -> gewünschtes Feld anklicken und gewünschten Eintrag vornehmen -> Ersetzen -> übernehmen. Nun wird der Eintrag auf entweder alle Kontakte oder auf die aktuelle Suche übernommen.
Möchte man ein Feld gänzlich leer haben giebt man einfach <<leer>> ein.
Danke.
da anscheinend keiner weiß wie es geht, hier meine eigene Erkenntnis:
In der Kontaktansicht auf Bearbeiten -> Ersetzen -> gewünschtes Feld anklicken und gewünschten Eintrag vornehmen -> Ersetzen -> übernehmen. Nun wird der Eintrag auf entweder alle Kontakte oder auf die aktuelle Suche übernommen.
Möchte man ein Feld gänzlich leer haben giebt man einfach <<leer>> ein.
Danke.
-
- Beiträge: 3027
- Registriert: Donnerstag 24. April 2003, 02:00
- Wohnort: Viernheim
Hallo Olivio,
sorry, daß sich niemand Deines Problems angenommen hatte.
Aber, wie man sieht, Du hast es hervorragend selbst geschafft!
Übrigens: wenn man in jedem Kontakt sofort bei Anlage oder Änderung ausgehend von einem Wert in einem Feld andere Felder befüllen möchte (z.B. PLZ 68519 = Ort Viernheim = Bundesland Hessen) dann gibt es dafür das AddOn AutoData. Natürlich kann man auch selbst Abhängigkeiten abbilden und damit realisieren.
sorry, daß sich niemand Deines Problems angenommen hatte.
Aber, wie man sieht, Du hast es hervorragend selbst geschafft!
Übrigens: wenn man in jedem Kontakt sofort bei Anlage oder Änderung ausgehend von einem Wert in einem Feld andere Felder befüllen möchte (z.B. PLZ 68519 = Ort Viernheim = Bundesland Hessen) dann gibt es dafür das AddOn AutoData. Natürlich kann man auch selbst Abhängigkeiten abbilden und damit realisieren.
Schöne Grüße aus Viernheim
Ingrid Weigoldt
Ingrid Weigoldt
-
- Beiträge: 3027
- Registriert: Donnerstag 24. April 2003, 02:00
- Wohnort: Viernheim
Hallo Forum,
Aber anstatt immer nur Sachen zu fragen, habe ich hier endlich mal die Möglichkeit, auch was Konstruktives beizutragen. Ich hab' hier ein vbs-Skript, das - nach gebührender Anpassung - alle gewünschten Felder aus einem Kontakt in alle anderen Kontakte derselben Gruppe übernimmt, sofern eine weitere Bedingung (KDNR identisch) zutrifft. Damit hängt es natürlich etwas von der Umgebung ab, in der wir es einsetzen (sprich: Gruppen als Firmen, mit einem Feld KDNR eindeutig identifizierbar, auch die Kontakte haben dieses Feld KDNR usw.), aber vielleicht hilft es trotzdem ... und es ist ja auch vielleicht nicht allzu schwer anzupassen:
Wie so ein Makro einzubinden ist, sollte ja klar sein. Ich hab's jetzt natürlich für das Posting zusammengestückelt und nicht erneut ausprobiert - also gut anschauen und verstehen und intensiv testen, bevor es in den Produktionsbetrieb gehen kann. (Ein Texteditor mit Syntaxhervorhebung ist übrigens auch ne feine Sache.)
Ich hoffe, ich hab' nix vergessen...
HTH + Grüße,
Andreas
Hey, das ist ja klasse! Das wusste ich nicht - bisher habe ich das Feld überschrieben (Feld kopieren) mit dem Feldinhalt eines Feldes, bei dem ich relativ sicher war (und doch immer die Luft angehalten hab'), dass es leer ist.Olivio hat geschrieben: Möchte man ein Feld gänzlich leer haben gibt man einfach <<leer>> ein.
Danke.
Aber anstatt immer nur Sachen zu fragen, habe ich hier endlich mal die Möglichkeit, auch was Konstruktives beizutragen. Ich hab' hier ein vbs-Skript, das - nach gebührender Anpassung - alle gewünschten Felder aus einem Kontakt in alle anderen Kontakte derselben Gruppe übernimmt, sofern eine weitere Bedingung (KDNR identisch) zutrifft. Damit hängt es natürlich etwas von der Umgebung ab, in der wir es einsetzen (sprich: Gruppen als Firmen, mit einem Feld KDNR eindeutig identifizierbar, auch die Kontakte haben dieses Feld KDNR usw.), aber vielleicht hilft es trotzdem ... und es ist ja auch vielleicht nicht allzu schwer anzupassen:
Code: Alles auswählen
' -----------------------------------------------------------------
' DatenAusKontaktInGruppeUndDieAnderenKontakte.vbs ----------------
' -----------------------------------------------------------------
' Aktualisiert die gruppeneinheitlichen Werte für alle der aktuellen
' Gruppe zugehörigen Kontakte (und für die Gruppe selbst), basierend
' auf den Werten des aktuellen Kontakts.
Dim strCID(150) ' WICHTIG: Maximal 150 Kontakte pro Gruppe werden verarbeitet
' Los gehts:
Set objViews = Application.Views
Set objView = objViews.GetActive
If objView.Type = 1 Then ' Wenn in der Kontaktansicht aufgerufen:
Set objContact = objViews.GetActive
strStartFromContact = objContact.GetField(1) ' merke UniqueID des aktuellen Kontakts,
' 0. Felder einlesen . . . ----------------------------------------------------
strKDNR = objContact.GetField(1001) ' zuerst natürlich die KDNR.
strFirma = objContact.GetField(25)
strLand = objContact.GetField(33)
strGebiet = objContact.GetField(1038) ' eines unserer Felder
strAdresse_1 = objContact.GetField(27)
strAdresse_2 = objContact.GetField(28)
strAdresse_3 = objContact.GetField(29)
strStadt = objContact.GetField(30)
strBundesland = objContact.GetField(31)
strPLZ = objContact.GetField(32)
strTelefon = objContact.GetField(35)
' usw.
Set objGroups = objViews.Create(3, "MyGroups") ' dann ...
objGroups.Activate ' ... gehe in die Gruppenansicht
objGroups.LookupFieldEx 1028, strKDNR, 2 ' und erstelle eine Suche der Gruppe(n) mit dieser KDNR
If objGroups.GetLastError = 108 Then
MsgBox "Die Suche nach Gruppen mit der KDNR des vorliegenden Kontakts hat keine Ergebnisse geliefert. Bitte überprüfen Sie die KDNR."
Else
Do While objGroups.Getfield(1028) <> strKDNR : objGroups.MoveNext : Loop ' Gehe durch die Suche bis zum Exact Match
strGroupID = objGroups.GetField(1)
' Felder in der Gruppe einsetzen -------------------------
objGroups.SetField 27, strAdresse_1
objGroups.SetField 28, strAdresse_2
objGroups.SetField 29, strAdresse_3
objGroups.SetField 30, strStadt
objGroups.SetField 31, strBundesland
objGroups.SetField 32, strPLZ
objGroups.SetField 33, strLand
objGroups.SetField 57, strGebiet
objGroups.SetField 47, strTelefon
' usw.
objGroups.SetActiveTab "Kontakte" ' Dann gehe zu den der Gruppe zugeordneten Kontakten
Set objGroupsContactList = objGroups.ContactMembers
objGroupsContactList.Sort 1, 0
intRows = objGroupsContactList.GetRowCount
If intRows <> -1 Then ' Wenn dort Kontakte stehen ...
For i = 0 To 149 : strCID(i) = "" : Next
objGroupsContactList.MoveFirst
For i = 0 To intRows - 1
strCID(i) = objGroupsContactList.GetField(1, i) ' merke Dir alle,
Next
Set objContact = objViews.Create(1, "MyContacts")
objContact.LookupALL
objContact.Activate ' gehe in die Kontaktansicht
For i = 0 to intRows - 1 ' und mache für jeden dies:
objContact.GoTo strCID(i) ' suche den Kontakt auf und
If objContact.GetField(1001) = strKDNR Then ' Wenn er die entspr. KDNR hat, setze seine Felder... ---------------
objContact.SetField 33, strLand
objContact.SetField 1038, strGebiet
objContact.SetField 27, strAdresse_1
objContact.SetField 28, strAdresse_2
objContact.SetField 29, strAdresse_3
objContact.SetField 30, strStadt
objContact.SetField 31, strBundesland
objContact.SetField 32, strPLZ
objContact.SetField 35, strTelefon
' usw.
' WICHTIG: Der Eintrag des Firmennamens soll zuletzt kommen,
' denn er sortiert uns den aktiven Kontakt u.U. weg.
objContact.SetField 25, strFirma
objContact.Goto strCID(i)
End If
Next ' Nächster Kontakt
objGroups.Activate ' Gehe zurück in die Gruppenansicht
objGroupsContactList.RefreshGrid ' Aktualisiere die zugeordneten Kontakte
objGroupscontactList.MoveFirst ' und gehe zum ersten in der Liste
End If
objGroups.LookUpPrevious
objContact.Activate
objContact.LookUpPrevious
objContact.Goto strStartFromContact ' Gehe zurück zum Ausgangspunkt
End If ' ein Abbruchs-Endif von oben (das geht bestimmt auch eleganter...)
Else
MsgBox "Unerwarteter Aufruf des Makros aus einer anderen als der Kontaktansicht. Abbruch"
End If
Set objGroupsContactList = Nothing
Set objContact = Nothing
Set objGroups = Nothing
Set objView = Nothing
Set objViews = Nothing
Wie so ein Makro einzubinden ist, sollte ja klar sein. Ich hab's jetzt natürlich für das Posting zusammengestückelt und nicht erneut ausprobiert - also gut anschauen und verstehen und intensiv testen, bevor es in den Produktionsbetrieb gehen kann. (Ein Texteditor mit Syntaxhervorhebung ist übrigens auch ne feine Sache.)
Ich hoffe, ich hab' nix vergessen...
HTH + Grüße,
Andreas