Access Hilfe gesucht

Hallo Zusammen,

ich arbeite bei einer Handelsfirma in UK und soll hier eine Kundendatenbank erstellen um so Kundenhistorie, Call/Visit Historie, Reports und Statistiken sowie Kundenmailings schneller auswerten zu koennen.

Alles recht schoen und gut, denke auch das ich es als Anfaenger sehr gut hinbekommen habe. Ich habe jedoch bei dem Thema „Unterformulare“ erhebliche Probleme und ich komme leider nicht mehr weiter. Vielleicht habt ihr Hilfe fuer mich.

Folgendes: Ist habe ein Contactformular mit Tabellenreiter Visit, Call, und Orderinformation. In jedem Tabellenreiter sind zwei Formulare gespeichert. Das erste Formular (Unterformular) enthaelt in Spalten die verschiedenen Anrufe oder Bestellungen, diese koennen von jedem eingepflegt werden. Im zweiten Formular (Unterformular) sind hier Details wie bespw. Bestelldetails Artikel, etc. oder detaillierte Besuchsinfos hinterlegt. Ich moechte nun wenn ich im Unterformular eins eine Spalte anklicke es mir automatisch im Unterformular zwei auch in diesen ausgewaehlten Datensatz springt.

Noch ein anderes Problem: Ich habe bei dem Versuch Kundenmailing ein Dokument hinterlegt um die entsprechenden Briefe an die Kunden zu versenden. Wie kann ich jedoch die Kunden einschraenken, im Moment druckt es mir alle gespeicherten Kunden raus. Bsp.: Wir verkaufen hier ebenfalls Softwarelizenzen mit Demofunktion. Wenn ich nun jeden abgelaufenen Kunden pro Tag anschreiben moechte brauche ich hier eine Einschraenkungsfunktion. Ziel soll sein das der Mitarbeiter hier nur auf einen Knopf druecken muss und schon werden alle Demokunden und Kaufkunden die an diesem Tag abgelaufen sind oder die in der aktuellen Woche abgelaufen rausgedruckt und er muss dann nur noch die Anschreiben versenden.

Wie kann ich das verwirklichen. Ich hoffe ich habe es einigermassen verstaendlich formuliert. Wenn nicht einfach Bescheid geben. Wie gesagt, ich bin ein Anfaenger und weiss leider die Fachbegriffe nicht.

Ich wuerde mich wirklich sehr freuen wenn ich hier Hilfe bekommen koennte.

Vielen lieben Dank bereits im Vorraus.

Gruesse
Tinchen

Hallo Tinchen,

Folgendes: Ist habe ein Contactformular mit Tabellenreiter
Visit, Call, und Orderinformation.
In jedem Tabellenreiter sind zwei Formulare gespeichert.

ähm könntest du Tabellenreiter näher definieren?

Das erste Formular
(Unterformular) enthaelt in Spalten die verschiedenen Anrufe
oder Bestellungen, diese koennen von jedem eingepflegt werden.
Im zweiten Formular (Unterformular) sind hier Details wie
bespw. Bestelldetails Artikel, etc. oder detaillierte
Besuchsinfos hinterlegt. Ich moechte nun wenn ich im
Unterformular eins eine Spalte anklicke es mir automatisch im
Unterformular zwei auch in diesen ausgewaehlten Datensatz
springt.

Wenn du im ersten UFO (=Unterformular) beim entsprechenden Ereignis einen VBA - Code hinterlegst, der einen Filter für das zweite UFO erstellt, und dann noch das zweite UFO aktualisierst (Requery) sollte es so gehen.

Noch ein anderes Problem: Ich habe bei dem Versuch
Kundenmailing ein Dokument hinterlegt um die entsprechenden
Briefe an die Kunden zu versenden.

d.h. du hast einen Bericht (Report) erstellt!?

Wie kann ich jedoch die Kunden einschraenken, im Moment druckt es mir
alle gespeicherten Kunden raus.

wie rufst du diesen Report auf? Per Taste? Dann kannst du beim Ereignis den VBA-Code so ändern, dass der Report mit Bedingung aufgerufen wird, so dass nur das gedruckt wird, dess KD-Nr. z.B. mit der ausgewählten übereinstimmt.

Bsp.: Wir verkaufen hier ebenfalls
Softwarelizenzen mit Demofunktion. Wenn ich nun jeden
abgelaufenen Kunden pro Tag anschreiben moechte brauche ich
hier eine Einschraenkungsfunktion.

sowas kannst du z.B: über eine Abfrage erreichen

Ziel soll sein das der
Mitarbeiter hier nur auf einen Knopf druecken muss und schon
werden alle Demokunden und Kaufkunden die an diesem Tag
abgelaufen sind oder die in der aktuellen Woche abgelaufen
rausgedruckt und er muss dann nur noch die Anschreiben
versenden.

kein Problem: die Datenbasis für den REport dahingehend ändern, dass es eine Abfrage ist (klicke auf die drei kleinen Punkte […] am ende der Zeile, und setze dort die Bedingungen für den Ausdruck des Reports.

Wie kann ich das verwirklichen. Ich hoffe ich habe es
einigermassen verstaendlich formuliert. Wenn nicht einfach
Bescheid geben. Wie gesagt, ich bin ein Anfaenger und weiss
leider die Fachbegriffe nicht.

da hast du dich aber an ein großes Projekt gewagt :smile:

Ich wuerde mich wirklich sehr freuen wenn ich hier Hilfe
bekommen koennte.

hiermit geschehen -> freu dich :smile:

Grüße aus Essen
Wolfgang

Hallo Wolfgang,

Tabellenreiter in einem Formular bzw. in einer Oberflaeche, du kannst im Access bei einem Formular ebenfalls Tabellenreiter einfuegen um in eine andere oberflaeche im gleichen Kunden zu gehen.

Bei den beiden UFO habe ich bereits eine Ereignisprozedure geschrieben, es funktioniert aber leider nicht. Die beiden UFO basieren auf zwei verschiedenen Tabellen: Tabelle 1 Bestellungen Tabelle 2 Bestelldetails erweitert (da ja der Kunde mehrere Bestellungen und Artikel haben kann) Ebenfalls habe ich zwei Abfragen erstellt „Bestellungen Abfrage“ und „Bestellungen erweitert“,beide UFO sind in einem weiteren Unterformular zusammengestellt, in diesem Formular habe ich eine Ereignisprozedure hinterlegt, die da lautet:
Sub Form_Current()
’ Dieser Code wurde durch den Formular-Assistenten erstellt.
Dim strParentDocName As String

On Error Resume Next
strParentDocName = Me.Parent.Name

If Err 0 Then
GoTo Form_Current_Exit
Else
On Error GoTo Form_Current_Err
Me.Parent![Customer Orders Subform 2].Requery
End If

Form_Current_Exit:
Exit Sub

Form_Current_Err:
MsgBox Error$
Resume Form_Current_Exit

End Sub

Wenn ich Bestellungen einpflege erscheint es mir leider aber nicht im Contactsformular, wo alle Details ersichtlich sind, obwohl ich als Primaerschluessel die Kunden ID eingegeben habe und Beziehungen erstellt habe.

Kannst du mir das bitte mit dem VBA Code nochmals erklaeren?

Zu dem Kundenmailing, ja ich habe ein Formular als Bericht erstellt und hier automatisch die Felder mit der Tabelle Contacts verknuepft.
Ich weiss das ist jetzt eine ganz dumme Frage aber wie sollte so eine Abfrage aussehen bzw. wie erstelle ich eine Bedingung?

Also ich glaub das Projekt ist jetzt vom der Grundbasis her schon fertig. Jetzt sind nur noch einzelne Dinge umzusetzen an denen ich gescheitert bin :smile:

Vielen herzlichen Dank fuer die schnelle Hilfe …

Gruessle

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Tinchen,

Tabellenreiter in einem Formular bzw. in einer Oberflaeche

ok, du meinst das Registersteuerelement.

beide UFO sind in einem weiteren Unterformular zusammengestellt,

d.h. du hast das Kundenformaular
darauf ein UFO
in dem UFO noch zwei Ufos mit den Tabellen 1 und 2
richtig?

in diesem Formular habe ich

es wäre einfach nachzuvollziehen, wenn du den Formularen hier Namen geben könntest. Ich kann jetzt nicht nachvollziehen, welches Formular du meinst.

eine Ereignisprozedure hinterlegt, die da lautet:

sorry, diese Funktion bringt nicht den gewünschten Erfolg.

Wenn ich Bestellungen einpflege

ähm wo? vermutlich in einem anderen Formaular?

erscheint es mir leider aber
nicht im Contactsformular, wo alle Details ersichtlich sind,
obwohl ich als Primaerschluessel die Kunden ID eingegeben habe
und Beziehungen erstellt habe.

wie sehen deine Beziehungen aus?

Kannst du mir das bitte mit dem VBA Code nochmals erklaeren?

das wird umfangreicher …

Du hast ein Hauptformular (Kundenübersicht)
Darauf hast du ein UFO (Bestellungen)
beide sind über die Kunden-ID verbunden

Nun hast du noch ein Ufo auf dem Hauptformular: Bestelldetails

dieses ist NICHT mit der Kunden-ID verbunden!! Weil es soll sich ja gemäß der Bestellung im UFO1 ändern.

Nun wäre zu überlegen, ob es nicht besser wäre, eine Liste anstelle von UFO1 zu nutzen.

ok, gehen wir mal vom normalen UFO aus:

Du willst eine Zeile (Datensatz) anklicken, dann soll die entsprechende Info im UFO2 zur Bestellunge angezeigt werden.

Jetz kannst du dir die Sache leicht machen:
Im UFO2 definierst du als Datenbasis die Bestelldetails. Dort!! gebst du bei der Spalte für die Bestell-ID in der ersten Zeile der Kriterien den Bezug zum UFO1 ein:

=Forms!Hauptformular!UFO1!Bestell-ID

so hast du die Bestell-Tabellen anhand der Bestell-ID verbunden. Direkt im Formular!!

Nun mußt du nur noch dafür sorgen, dass das UFO2 immer aktualisiert wird, wenn du in UFO1 den Datensatz wechselst.

Das Ereignis: „bei Geändert“ dürfte dafür geeignet sein.
Dort als VBA Funktion dann eintragen:

Forms!Hauptformular!Ufo2.requery

Zu dem Kundenmailing, ja ich habe ein Formular als Bericht
erstellt und hier automatisch die Felder mit der Tabelle
Contacts verknuepft.
Ich weiss das ist jetzt eine ganz dumme Frage aber wie sollte
so eine Abfrage aussehen bzw. wie erstelle ich eine Bedingung?

Da gibt es auch wieder mehrere Möglichkeiten. Ich empfehle die erste:
Du hast auf deinem Formular ein Taste, mit der du das Kundenmailing startest!?

dort in der VBA - Anweisung steht dann:

docmd.openreport … -> hier hinten kommt dann die Bedingung hin.

Lese dir die Hilfe zum DOCMD. -Befehl durch

Grüße aus Essen
Wolfgang