Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Viele Kleinigkeiten meiner Kundenverwaltung

Begonnen von MisterMCBlinki, Mai 09, 2012, 18:18:43

⏪ vorheriges - nächstes ⏩

MisterMCBlinki

Anbei meine Beziehungstabelle um sich einen Überblick der DB zu machen.

Da ich mich erst 4-5 Wochen mit dem ganzen beschäftige Stufe ich mich als sehr unerfahren ein.

Einige Dinge habe ich mir jedoch schon erarbeitet:

Suchformular eingebaut.
Tabellen Anlegen mit den Informationen
Abfragen erstellen
Formulare erstellt um Kunden + Kurse anzulegen
Unterformualre um Kunden Kurse zuzuordnen.
Schaltfläschen um Datensätze zu dupliezieren, zu löschen oder neue hinten-dran Anzulegen.

Berichte erstellen
-Einzelne Kunden ausdrucken
-Gesamt Kunden Stamm
- Einzelne Kurse in den die eingetragene Kunden auftauchen.



Nun zu dem was mir noch fehlt, ich aber nirgends wirklich ne funktionierende Antwort finde.:

Beim Suchformular kann ich einzelne Kunden/Kurse suchen und anzeigen lassen, jedoch wenn ein Kunde den selben Nachnamen besitzt, wird immer nur der erste, der Datensatzreihenfolge ausgewählt, egal welche von beiden angewählt wird.
Bsp: Mustermann, Hans (Datensatz nr. 44) und Mustermann, Ursela (Datensatz nr. 200) wird immer Hans ausgewählt und geöffnet.

Beziehungsfelder:
http://www.jaycon.de/index.php?option=com_content&view=article&id=84:wenn-dann-sonst-access-teil-2&catid=43:praxis-tipps&Itemid=102
habe ich mir durchgelesen und versucht umzusetzen, jedoch passiert garnichts oder er macht aus der Abfrage ne komplett leere Tabelle, wo auch keine Funktionen ist.


Geburtstagskinder der nächsten 6 Wochen aus dem Kurs auf den Bericht setzen.

2 Kunden paarweise auf dem Bericht setzen. (siehe Beziehungs-PDF)
Kunde A + Kunde B ist in Kurs C
Es soll aber auch möglich sein,dass
Kunde A + Kunde C in Kurs E sind

Eine Serienbrieffunktion die,
JEDEN Kunden anschreibt
SELEKTIVE Kunden anschreibt (BSP.: Nur weiblich, nur aus Kurs C)

Eine Hyperlinkfuntkion die es erlaubt aus der Datenbank ein Word-Dokument zu öffnen und ggfls. zu drucken.


So genug erstmal!

Ihr seit dran!





[Anhang gelöscht durch Administrator]

Beaker s.a.

Hallo McBlinki,
ZitatBeim Suchformular kann ich einzelne Kunden/Kurse suchen und anzeigen lassen, jedoch wenn ein Kunde den selben Nachnamen besitzt, wird immer nur der erste, der Datensatzreihenfolge ausgewählt, egal welche von beiden angewählt wird.
Bsp: Mustermann, Hans (Datensatz nr. 44) und Mustermann, Ursela (Datensatz nr. 200) wird immer Hans ausgewählt und geöffnet.
Dann verwende für die Suche nach Namen ein ungebundenes Kombifeld,
statt eines Textfeldes.
Datenherkunft: SELECT ID, Nachname FROM TblKunde ORDER BY Nachname
(Bei dir heisst das Feld "Name"; das ist schlecht, da reserviertes Wort)
Spalten: 2
Breiten: 0cm;4cm
Und dann suchst Du nach der ID in Spalte 1 (gebundene).
Zitat2 Kunden paarweise auf dem Bericht setzen. (siehe Beziehungs-PDF)
Dazu nimmst Du die tblKunde ein zweites Mal ins Fenster und verknüpfst von
dieser zu Kunde2_ID in tblPartnerzuordnung.
ZitatIhr seit dran!
Deshalb gibt es hier bis jetzt noch keine weiteren Antworten, und meine beschränkt
sich auf Fragen, über die ich nicht nachdenken muss.
hth
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

oma

Hallo,

ich denke zwar nicht, dass wir jetzt "dran" sind aber bezüglich einer Geburtstagliste möchte ich auf unseren Downloadbereich-Geburtstagsliste verweisen:

Gruß Oma
nichts ist fertig!

database

Hallo,

ZitatSchaltfläschen um Datensätze zu dupliezieren, zu löschen oder neue hinten-dran Anzulegen.
Neue Datensätze erstellen OK, den Rest solltest du GRÜNDLICH überdenken - Datensätze zu duplizieren ist m.E. überhaupt keine gute Idee
und löschen ...  http://www.dbwiki.net/wiki/Access_Design:_Vorsicht_beim_L%C3%B6schen


ZitatBeim Suchformular kann ich einzelne Kunden/Kurse suchen und anzeigen lassen ...
Wenn du eindeutige Ergebnisse haben willst mußt du nach eindeutigen Kriterien suchen!
Nachnamen werden in keiner Datenbank ein solches darstellen.

Die Kombination von Vor- und Nachnamen kommt da schon näher, zusätzlich ein Geburtsdatum dazugepackt bringt noch deutlichere Ergebnisse ....

auch genug erstmal, ich war schon dran  :-\ :o

MisterMCBlinki

ZitatDann verwende für die Suche nach Namen ein ungebundenes Kombifeld,
statt eines Textfeldes.
Datenherkunft: SELECT ID, Nachname FROM TblKunde ORDER BY Nachname
(Bei dir heisst das Feld "Name"; das ist schlecht, da reserviertes Wort)
Spalten: 2
Breiten: 0cm;4cm
Und dann suchst Du nach der ID in Spalte 1 (gebundene).
Es hat sich schon um ein ung. Kombifeld.

dies ist der VBA Code dazu:
Private Sub Suche_AfterUpdate()

Dim rs As DAO.Recordset


Set rs = Me.RecordsetClone

rs.FindFirst "Nachname = '" & Me!Suche & "'"
'oder falls RechnungsNr kein Zahlenfeld ist sondern vom Typ Text:
'rs.FindFirst "Name = '" & Me!Suche & "'"
If Not rs.NoMatch Then
  Me.Bookmark = rs.Bookmark
End If

Set rs = Nothing
End Sub

Als Datenherkunft hab ich bisher dieses Verwendet:

SELECT tblKunde.[Nachname], tblKunde.Vorname FROM tblKunde ORDER BY tblKunde.[Nachname];

------------------------
Ändere ich nun auf deinen Vorschlag, passiert garnichts mehr.  ???

MisterMCBlinki

Zitat von: oma am Mai 09, 2012, 23:54:21
Hallo,

ich denke zwar nicht, dass wir jetzt "dran" sind aber bezüglich einer Geburtstagliste möchte ich auf unseren Downloadbereich-Geburtstagsliste verweisen:

Gruß Oma
Irgendwie kann ich damit nichts anfangen, da er mir nur Fehler ausspuckt, beim öffnen.


MisterMCBlinki

Zitat
Zitat2 Kunden paarweise auf dem Bericht setzen. (siehe Beziehungs-PDF)
ZitatDazu nimmst Du die tblKunde ein zweites Mal ins Fenster und verknüpfst von
dieser zu Kunde2_ID in tblPartnerzuordnung.

Das verstehe ich nicht ganz.


So?





Beaker s.a.

Hallo McBlinki,
Erstmal zum Kombifeld.
Datenherkunft:
SELECT K.KundeID, K.Nachname, K.Vorname FROM tblKunde AS K ORDER BY K.Nachname
So brauchst natürlich 3 Spalten, Breiten: 0cm;4cm;4cm
Gebundene Spalte: 1
Private Sub Suche_AfterUpdate()

    Dim rs As DAO.Recordset

    Set rs = Me.RecordsetClone

    rs.FindFirst "KundenID = " & Me!Suche

'Falls KundenID vom Typ Text sein sollte (besser wäre nicht),
'dann wie vorher mit "'"
'rs.FindFirst "KundenID = '" & Me!Suche & "'"

    If Not rs.NoMatch Then
        Me.Bookmark = rs.Bookmark
    End If

    rs.Close
    Set rs = Nothing

End Sub


Bezügl. Beziehungen hast Du mich wohl völlig missverstanden;
ich verstehe Deine Bilder nämlich in dem Zusammenhang nicht.
Wenn's um Beziehungen geht, meine ich mit Fenster eben das
Beziehungsfenster, wie von Dir dargestellt.
In Deinem Formular "tblPartnerzuordnung" machst Du aus den
beiden Textfeldern "Kunde1_ID" und "Kunde2_ID" jeweils ein
Kombifeld; - Datenherkunft die gleiche wie beim Suchen-Kombi
(siehe oben). Wie deine Bezeichnung dieser Felder sagt, musst
Du die eben an die entsprechenden Felder der Tabelle "tblPartner-
zuordnung" binden.
Jetzt bist Du wieder dran.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MisterMCBlinki

Zitat von: Beaker s.a. am Mai 10, 2012, 20:21:28
Hallo McBlinki,
Erstmal zum Kombifeld.
Datenherkunft:
SELECT K.KundeID, K.Nachname, K.Vorname FROM tblKunde AS K ORDER BY K.Nachname
So brauchst natürlich 3 Spalten, Breiten: 0cm;4cm;4cm
Gebundene Spalte: 1
Private Sub Suche_AfterUpdate()

    Dim rs As DAO.Recordset

    Set rs = Me.RecordsetClone

    rs.FindFirst "KundenID = " & Me!Suche

'Falls KundenID vom Typ Text sein sollte (besser wäre nicht),
'dann wie vorher mit "'"
'rs.FindFirst "KundenID = '" & Me!Suche & "'"

    If Not rs.NoMatch Then
        Me.Bookmark = rs.Bookmark
    End If

    rs.Close
    Set rs = Nothing

End Sub



Fehler 3070: erkennt 'KundenID' nicht als gültigen Feldnamen oder Ausdruck.





Bei deinem 2ten Vorschlag passiert irgendwie garnichts. er setzt mir den Code in die auswahlliste.

Stapi

Hallo MisterMCBlinki

ZitatPrivate Sub Suche_AfterUpdate()    Dim rs As DAO.Recordset    Set rs = Me.RecordsetClone    rs.FindFirst "KundenID = " & Me!Suche'Falls KundenID vom Typ Text sein sollte (besser wäre nicht),'dann wie vorher mit "'"'rs.FindFirst "KundenID = '" & Me!Suche & "'"    If Not rs.NoMatch Then        Me.Bookmark = rs.Bookmark    End If    rs.Close    Set rs = NothingEnd Sub

Der fehler liegt das du in der Kundentabelle den Feldnamen " KundenID " nicht vorliegt, bei dir heißt der Feldname" ID " in Kundentabelle, ändere den Code von @Baeker s.a und die Suche sollte bzw wird so funtzen
Grüße aus dem schönen NRW
Stefan

Beaker s.a.

Hallo,
@mcblinki
Sorry, habe ich den Hinweis vergessen, das Du die Objektnamen
evtl. anpassen musst.
Kommt aber auch davon, wenn man keine sprechenden Namen
verwendet.
@Stefan
Danke für schnelle Aufklärung; um die Zeit sitze ich meist noch im
Büro, und da gibt's andere Prioritäten ;-).
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Stapi

Hallo Beaker s.a

Kein Problem sind ja noch Dinge die mann schnell lösen kann, wichtig ist nur Brille aufsetzen. ;D ;D
Grüße aus dem schönen NRW
Stefan

MisterMCBlinki

Zitat von: Stapi am Mai 11, 2012, 18:05:56
Hallo MisterMCBlinki

ZitatPrivate Sub Suche_AfterUpdate()    Dim rs As DAO.Recordset    Set rs = Me.RecordsetClone    rs.FindFirst "KundenID = " & Me!Suche'Falls KundenID vom Typ Text sein sollte (besser wäre nicht),'dann wie vorher mit "'"'rs.FindFirst "KundenID = '" & Me!Suche & "'"    If Not rs.NoMatch Then        Me.Bookmark = rs.Bookmark    End If    rs.Close    Set rs = NothingEnd Sub

Der fehler liegt das du in der Kundentabelle den Feldnamen " KundenID " nicht vorliegt, bei dir heißt der Feldname" ID " in Kundentabelle, ändere den Code von @Baeker s.a und die Suche sollte bzw wird so funtzen

JAAAAA, GENAU DAS WAR DER FEHLER!
Ich habe zumal das ID Feld zu KundeID umbennant, damit es sprechender ist. Danke für den Tip.

MisterMCBlinki

Zitat von: Beaker s.a. am Mai 10, 2012, 20:21:28

Bezügl. Beziehungen hast Du mich wohl völlig missverstanden;
ich verstehe Deine Bilder nämlich in dem Zusammenhang nicht.
Wenn's um Beziehungen geht, meine ich mit Fenster eben das
Beziehungsfenster, wie von Dir dargestellt.
In Deinem Formular "tblPartnerzuordnung" machst Du aus den
beiden Textfeldern "Kunde1_ID" und "Kunde2_ID" jeweils ein
Kombifeld; - Datenherkunft die gleiche wie beim Suchen-Kombi
(siehe oben). Wie deine Bezeichnung dieser Felder sagt, musst
Du die eben an die entsprechenden Felder der Tabelle "tblPartner-
zuordnung" binden.
Jetzt bist Du wieder dran.
gruss ekkehard


habe ich nun so eingerichtet. Beziehungen von Zahl auf Text neu vergeben.

Wie schaffe ich es nun, dass beide Kunden es im Bericht zusammen untereinander auftauchen?



Stapi

Hallo MisterMCBlinki

1.) ID sollten immer als Zahl dargestellt werden und nicht als Textfelder
2.) Nachschlagefelder in deiner Tabelle sind zu vermeiden, sollten nur auf Formularebene stattfinden
3.) Im Beziehungsfenster ein zweites mal deine Tabelle Kunde an die Tabelle "tblPartnerzuordnung" binden.
4.) Im Formular "FrmPartnerzuordnung"  verknüpfst du als Unterformular dein FrmKunde über die ID mit dem Hauptformular

Grüße aus dem schönen NRW
Stefan