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]
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
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
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 (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
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. ???
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.
ZitatZitat2 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?
(http://www7.pic-upload.de/10.05.12/9urxqywoo99z.jpg) (http://www.pic-upload.de/view-14136381/Tabelle-Oben.jpg.html)
(http://www10.pic-upload.de/10.05.12/qzsf7vplq9sy.jpg) (http://www.pic-upload.de/view-14136382/Tabelle-Unten.jpg.html)
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
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.
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
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
Hallo Beaker s.a
Kein Problem sind ja noch Dinge die mann schnell lösen kann, wichtig ist nur Brille aufsetzen. ;D ;D
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.
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
(http://www7.pic-upload.de/thumb/12.05.12/cqx4orn8mrfk.jpg) (http://www.pic-upload.de/view-14166217/tblpartner2.jpg.html)
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?
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
Hallo McBlinki,
Zitathabe ich nun so eingerichtet. Beziehungen von Zahl auf Text neu vergeben.
Warum? Kann mich nicht erinnern, sowas angeregt zu haben.
Da stimmt doch der Datentyp nicht mehr mit dem PK aus
tblKunden überein, und Du kannst gar keine Beziehung mehr
einrichten.
Habe Dir mal ein .pdf drangehängt, wie ich es gemeint hatte
(Namen wieder anpassen).
ZitatWie schaffe ich es nun, dass beide Kunden es im Bericht zusammen untereinander auftauchen?
Indem die DS-Herkunft beide Partner erfasst, und Du die
Controls für Kunde1 und Kunde2
untereinander plazierst.
hth
gruss ekkehard
Zitat von: Beaker s.a. am Mai 12, 2012, 23:05:44
ZitatWie schaffe ich es nun, dass beide Kunden es im Bericht zusammen untereinander auftauchen?
Indem die DS-Herkunft beide Partner erfasst, und Du die
Controls für Kunde1 und Kunde2 untereinander plazierst.
hth
gruss ekkehard
Verstehe ich nicht. ??? :-[
Zitat von: Stapi am Mai 12, 2012, 19:58:54
4.) Im Formular "FrmPartnerzuordnung" verknüpfst du als Unterformular dein FrmKunde über die ID mit dem Hauptformular
Verstehe ich auch nicht.
Den Rest hab ich ja gemacht....
Wusste garnicht, dass es so kompliziert ist , bzw. noch versteh ich die Logik nicht ganz. :)
Hallo McBlinki,
Erstmal anbei das .pdf; - hab' ich gestern wohl
einfach "vergessen".
ZitatWie schaffe ich es nun, dass beide Kunden es im Bericht zusammen untereinander auftauchen?
Du hast doch die tblPartnerzuordnung, in der beide Kunden(IDs)
per FK gespeichert sind.
Auf diese Tabelle baust Du eine Abfrage auf, die dann
die DS-Herkunft des Berichtes wird. Da hast Du dann ja
wohl zwei Textfelder für die Kunden, und die kannst Du
untereinander anordnen.
ZitatIm Formular "FrmPartnerzuordnung" verknüpfst du als Unterformular dein FrmKunde über die ID mit dem Hauptformular
Da denke ich, das Stefan dich nicht richtig verstanden
hat. Wenn ich das richtig gesehen habe, hast Du ein HFo
Kunden mit UFo Partner. Dann würde ich dieses UFo über
die Kunde1_ID verknüpfen, da brauchst Du im UFo nur ein
Kombifeld für den Partner (Kunde2_ID).
Vielleicht kannst Du die DB ja mal hier hochladen (am Besten
als .mdb, komprimiert und gezipt).
gruss ekkehard
[Anhang gelöscht durch Administrator]
HIER EINMAL DIE DATENBANK, damit man sich besser ein Bild machen kann.
[Anhang gelöscht durch Administrator]
Hallo,
von mir mal die Geburtstags-DB aus unserem Downloadbereich, aber nun in 2007-Format
Gruß Oma
[Anhang gelöscht durch Administrator]
Hallo McBlinki,
Habe mal kurz reingeschaut in Deine DB.
Die Beziehung tblKunde.KundeID -> tblPartnerzuordnung.Kunde2_ID
hast Du noch nicht eingerichtet.
Um die Partner auf dem Kurse-Bericht anzuzeigen, muss Du IMO
mit einem Unterbericht arbeiten; - DS-Herkunft sowas wie
SELECT tblPartnerzuordnung.Kunde1_ID,
tblPartnerzuordnung.Kunde2_ID,
tblKunde.Vorname,
tblKunde_1.Vorname,
tblPartnerzuordnung.Kurs_ID
FROM tblKunde
INNER JOIN (tblKunde AS tblKunde_1
INNER JOIN tblPartnerzuordnung
ON tblKunde_1.KundeID = tblPartnerzuordnung.Kunde2_ID)
ON tblKunde.KundeID = tblPartnerzuordnung.Kunde1_ID;
Den SELECTteil musst Du um die Felder ergänzen, die Du sehen
willst.
gruss ekkehard
Zitat von: oma am Mai 13, 2012, 18:57:29
Hallo,
von mir mal die Geburtstags-DB aus unserem Downloadbereich, aber nun in 2007-Format
Gruß Oma
Danke, mal sehn wie ich das einbauen kann.
Zitat von: Beaker s.a. am Mai 13, 2012, 15:56:31
Hallo McBlinki,
Erstmal anbei das .pdf; - hab' ich gestern wohl
einfach "vergessen".
ZitatWie schaffe ich es nun, dass beide Kunden es im Bericht zusammen untereinander auftauchen?
Du hast doch die tblPartnerzuordnung, in der beide Kunden(IDs)
per FK gespeichert sind.
Auf diese Tabelle baust Du eine Abfrage auf, die dann
die DS-Herkunft des Berichtes wird. Da hast Du dann ja
wohl zwei Textfelder für die Kunden, und die kannst Du
untereinander anordnen.
ZitatIm Formular "FrmPartnerzuordnung" verknüpfst du als Unterformular dein FrmKunde über die ID mit dem Hauptformular
Da denke ich, das Stefan dich nicht richtig verstanden
hat. Wenn ich das richtig gesehen habe, hast Du ein HFo
Kunden mit UFo Partner. Dann würde ich dieses UFo über
die Kunde1_ID verknüpfen, da brauchst Du im UFo nur ein
Kombifeld für den Partner (Kunde2_ID).
Vielleicht kannst Du die DB ja mal hier hochladen (am Besten
als .mdb, komprimiert und gezipt).
gruss ekkehard
Das Bild hat bei mir klick gemacht. Mit dem Bericht klappt das nun soweit.
Jetzt muss ich selber mal schauen, wie es zusammensetze, dass er nur den jeweiligen Kurs ausdruckt inkl. den Tanzpaaren.
Nun fänd ich es super, wenn im Formular tblKunde folgendes angezeigt wird:
Kunde 1 tanzt mit Kunde 2 in Kurs A, bezahlt per..... usw. (wie es bisher mit dem Unterformular Kunde_Kurs geschehen ist)
Problem, was ich denke. Wird es automatisch auch bei Kunde 2 angezeigt, wenn Kunde1 mit 2 im Kurs angemeldet ist?
Muss ich Kunde2 in einem weiteren Unterformular mit Kunde1 eintragen?
(http://www10.pic-upload.de/thumb/13.05.12/uo3dqvclgsv.jpg)][URL=http://www.pic-upload.de/view-14182973/Partnerzuordnung1.jpg.html](http://www10.pic-upload.de/thumb/13.05.12/uo3dqvclgsv.jpg) (http://[url=http://www.pic-upload.de/view-14182973/Partnerzuordnung1.jpg.html)[/url]
soweit habe ich das nun fertig gemacht.
Ergebnis:
Es wird nichts mehr angezeigt.
Jeder Kunde kann eine verschiedene Zahlart haben.
Wo ist der Beziehungsfehler?
Hallo McBlinki,
Schau dir Abfrage1 in angehängter DB an.
Die musst Du nur um die weiteren Felder
ergänzen, und sollte so funzen.
gruss ekkehard
[Anhang gelöscht durch Administrator]
Hallo McBlinki,
Habe Dir da jetzt noch ein UFo Partner gebastelt
(nur IDs und Vornamen, Rest musst Du einfügen),
und das im Form Kunden gegen das Kurs-Ufo aus-
getauscht (musst Du dann wieder dazu packen,
wenn Du's brauchst).
Dies UFo ist nicht verknüpft, sondern wird über die
DS-Herkunft auf die KundenID gefiltert, so dass bei
jedem Kunden die Partner angezeigt werden, egal
ob er Partner 1 oder 2 ist.
hth
gruss ekkehard
[Anhang gelöscht durch Administrator]
@Beaker: Vielen Dank, dass du dir für meine Kinder-Probleme dir die Zeit nimmst und hilfst. Vieles lerne und verstehe ich grade.
Habe wie die chinesen in meiner Datenbank, deine abfragen und das formular nachgebaut. Bei den Beziehungen habe ich die ref. Integrität weg gelasen, da ich etwas bedenken um den Verlust meiner Daten habe, wenn ich mal was falsches lösche.
Nun wird mir dieser Fehler angezeigt, wenn ich den Kunden übers Menü öffne.
Dieser Fehler tritt nicht auf, wenn ich nur das Formular tblKunde öffne.
Auch tritt der Fehler nicht auf, wenn im Hintergrund Form.tblKunde geöffnet ist.
(http://www10.pic-upload.de/thumb/15.05.12/pnhapdllbtd2.jpg) (http://www.pic-upload.de/view-14209564/fehler-15-05-2012.jpg.html)
Ok,
gehe ich nun davon aus, das der Fehler weg ist....
Es wäre das optimale, wenn....
...Der Kunde im Fomular tblKunde angezeigt wird (ist ja schon)
...Der Kunde in einen Kurs eingetragen wird. (war bisher auch möglich(einfache eintragung in tblKunde_Kurs))
... ich den Kunden bei Auswahlliste mit kunde_2 in einem Kurs (auch auswahlliste) anmelden kann und nicht die ID beider Kunden und des Kurses im Kopf haben muss
... mir angezeigt wird, wer mit dem Kunden in welchen Kurs zusammen ist. (ist ja schon nur als ID darstellung)
... einen Bericht, wo ich einzelne Kurse heraus drucken kann, wo Kunde 1 + Kunde 2 mit Namen, Vornamen , Tel privat , Tel mobil eingetragen wird.
Diese "Partner" stehn dabei unteinander.
Einzelne Kunden sollten auch mit auftauchen die im Kurs sind.
Hallo McBlinki,
ZitatNun wird mir dieser Fehler angezeigt, wenn ich den Kunden übers Menü öffne.
Dieser Fehler tritt nicht auf, wenn ich nur das Formular tblKunde öffne.
Auch tritt der Fehler nicht auf, wenn im Hintergrund Form.tblKunde geöffnet ist.
Das liegt daran, dass das Form in diesem Fall ein UFo ist,
nämlich vom Navigations(haupt)form; - da stimmt dann
der Formularbezug in der Abfrage nicht mehr.
Die hab' ich jetzt rausgeschmissen, und setze die DS-
Herkunft des UFos Partner jetzt im Current-Ereignis des
Forms "tblKunde" (benenne das Mal um!).
So spielt es jetzt keine Rolle mehr wo das Form liegt.
Mich mit Deinen Anforderungenaus dem nächsten Post
zu beschäftigen habe ich heute keine Lust mehr, - möchte
noch ein paar andere Threats lesen.
In das Partner-UFo brauchst Du aber IMO nur ein paar Felder
hinzufügen (nicht vergessen, die auch in die DS-Herkunft
mit aufzunehmen) um dann auch die Namen (Vorname ist
ja schon drin) und weitere Daten anzuzeigen.
gruss ekkehard
[Anhang gelöscht durch Administrator]
Hi!
Den Serienbrief könntest du so machen ist ein Beispiel aus den Nordwand Datenbank
mit Verweis auf Word Objekt
Gruß Frank
[Anhang gelöscht durch Administrator]
Zitat von: Beaker s.a. am Mai 15, 2012, 22:27:32
Hallo McBlinki,
ZitatNun wird mir dieser Fehler angezeigt, wenn ich den Kunden übers Menü öffne.
Dieser Fehler tritt nicht auf, wenn ich nur das Formular tblKunde öffne.
Auch tritt der Fehler nicht auf, wenn im Hintergrund Form.tblKunde geöffnet ist.
Das liegt daran, dass das Form in diesem Fall ein UFo ist,
nämlich vom Navigations(haupt)form; - da stimmt dann
der Formularbezug in der Abfrage nicht mehr.
Die hab' ich jetzt rausgeschmissen, und setze die DS-
Herkunft des UFos Partner jetzt im Current-Ereignis des
Forms "tblKunde" (benenne das Mal um!).
So spielt es jetzt keine Rolle mehr wo das Form liegt.
Mich mit Deinen Anforderungenaus dem nächsten Post
zu beschäftigen habe ich heute keine Lust mehr, - möchte
noch ein paar andere Threats lesen.
In das Partner-UFo brauchst Du aber IMO nur ein paar Felder
hinzufügen (nicht vergessen, die auch in die DS-Herkunft
mit aufzunehmen) um dann auch die Namen (Vorname ist
ja schon drin) und weitere Daten anzuzeigen.
gruss ekkehard
also mit 1 eintrag funktioniert deine abfrage usw. jedoch lege ich ne kunden an und will sie zuordnen klappt es nicht mehr.
Zitat von: Frank77 am Mai 16, 2012, 11:33:40
Hi!
Den Serienbrief könntest du so machen ist ein Beispiel aus den Nordwand Datenbank
mit Verweis auf Word Objekt
Gruß Frank
Vielen Dank, ich werde es mir mal anpassen und einbauen. :)
Hallo McBlinki,
Zitatalso mit 1 eintrag funktioniert deine abfrage usw. jedoch lege ich ne kunden an und will sie zuordnen klappt es nicht mehr.
Ja, sorry, mein Fehler; - die Abfrage ist gar nicht aktualisierbar (schäm).
Ich schau mir das heute Nachmittag/Abend noch mal an.
gruss ekkehard
Hi!
Für Word habe ich noch was um eine Vorlage zu verwenden
Dim Word As Object
On Error GoTo wordStarten
' Eine bestehende Instanz zu verwenden
Set Word = GetObject(, "word.application")
If Not Word Is Nothing Then
' Arbeiten mit dem Word-Objekt
Word.Visible = True
Word.Documents.Open filename:=Application.CurrentProject.Path & "\Vorlage.doc"
' Formularfelder füllen
Word.ActiveDocument.FormFields("Text1").Result = Text2.value
Word.ActiveDocument.FormFields("Text2").Result = Text1.value
Word.ActiveDocument.FormFields("Text3").Result = Text3.value
End If
Exit Sub
wordStarten:
If Err = 429 Then
' Instanz nicht vorhanden, starten
Set Word = CreateObject("word.application")
Else
' Word konnte nicht gefunden werden
MsgBox "Word ist nicht instaliert!"
End If
Resume Next
End Sub
Oder die Vorlage in einem neuen Dokument öffnen ohne sie zu bearbeiten
Option Compare Database
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nshowcmd As Long) _
As Long
Public Const SW_HIDE = 0 ' Versteckt öffnen
Public Const SW_MAXIMIZE = 3 ' Maximiert öffnen
Public Const SW_MINIMIZE = 6 ' Minimiert öffnen
Public Const SW_NORMAL = 1
Public Const SW_RESTORE = 9
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNOACTIVATE = 4
Aufruf:
Call ShellExecute(0, "new", "c:\.....\Vorlage.doc", "", "", SW_NORMAL)
Gruß Frank
Hallo McBlinki,
Anbei jetzt eine geänderte Version.
Bitte beachte, dass ich einige Objektnamen (Tabellen-
felder, Formulare, Steuerelemente); - vor allem das
Feld "Name" in der tblKunde (heisst jetzt "Nachname")
umbenannt habe.
Das Kurs-Kombi im UFo Partner zeigt alle belegten (im
UFo Kurse angelegten) Kurse des angezeigten Kunden.
Nach Auswahl wird der Kunde als Partner 1 automatisch
eingetragen (weil jetzt über die ID mit dem HFo verknüpft),
und das Partner-Kombi zeigt alle Kunden, die den gleichen
Kurs belegt haben.
Beim Speichern der Zuordnung wird im Ereignis AfterUpdate
der entsprechende gegensätzliche (Partner2 = Partner1) in
die Tabelle eingetragen. So siehst Du diese Zusammenstellung
auch beim Partner-Kunden.
Die Namensfelder werden jetzt per DomWert in die Felder ge-
schrieben. Warum da allerdings trotz Behandlung mit Nz() bei
neuen DS "FEHLER#" angezeigt wird kann ich nicht erklären.
Falls noch Fragen auftauchen, schreibe hier.
gruss ekkehard
[Anhang gelöscht durch Administrator]
Zitat von: Beaker s.a. am Mai 19, 2012, 22:56:33
Hallo McBlinki,
Anbei jetzt eine geänderte Version.
Bitte beachte, dass ich einige Objektnamen (Tabellen-
felder, Formulare, Steuerelemente); - vor allem das
Feld "Name" in der tblKunde (heisst jetzt "Nachname")
umbenannt habe.
Das Kurs-Kombi im UFo Partner zeigt alle belegten (im
UFo Kurse angelegten) Kurse des angezeigten Kunden.
Nach Auswahl wird der Kunde als Partner 1 automatisch
eingetragen (weil jetzt über die ID mit dem HFo verknüpft),
und das Partner-Kombi zeigt alle Kunden, die den gleichen
Kurs belegt haben.
Beim Speichern der Zuordnung wird im Ereignis AfterUpdate
der entsprechende gegensätzliche (Partner2 = Partner1) in
die Tabelle eingetragen. So siehst Du diese Zusammenstellung
auch beim Partner-Kunden.
Die Namensfelder werden jetzt per DomWert in die Felder ge-
schrieben. Warum da allerdings trotz Behandlung mit Nz() bei
neuen DS "FEHLER#" angezeigt wird kann ich nicht erklären.
Falls noch Fragen auftauchen, schreibe hier.
gruss ekkehard
Oo.... geil! hehe, was anderes fällt mir dazu nicht ein.
Ich habe nun meine tbl Kunde in deine übernommen, und so funktioniert es.
Das umbennen der Felder usw. finde ich auch sinnvoll, der orientierungs halber.
Zitat von: MisterMCBlinki am Mai 20, 2012, 16:13:54
Zitat von: Beaker s.a. am Mai 19, 2012, 22:56:33
Hallo McBlinki,
Anbei jetzt eine geänderte Version.
Bitte beachte, dass ich einige Objektnamen (Tabellen-
felder, Formulare, Steuerelemente); - vor allem das
Feld "Name" in der tblKunde (heisst jetzt "Nachname")
umbenannt habe.
Das Kurs-Kombi im UFo Partner zeigt alle belegten (im
UFo Kurse angelegten) Kurse des angezeigten Kunden.
Nach Auswahl wird der Kunde als Partner 1 automatisch
eingetragen (weil jetzt über die ID mit dem HFo verknüpft),
und das Partner-Kombi zeigt alle Kunden, die den gleichen
Kurs belegt haben.
Beim Speichern der Zuordnung wird im Ereignis AfterUpdate
der entsprechende gegensätzliche (Partner2 = Partner1) in
die Tabelle eingetragen. So siehst Du diese Zusammenstellung
auch beim Partner-Kunden.
Die Namensfelder werden jetzt per DomWert in die Felder ge-
schrieben. Warum da allerdings trotz Behandlung mit Nz() bei
neuen DS "FEHLER#" angezeigt wird kann ich nicht erklären.
Falls noch Fragen auftauchen, schreibe hier.
gruss ekkehard
Oo.... geil! hehe, was anderes fällt mir dazu nicht ein.
Ich habe nun meine tbl Kunde in deine übernommen, und so funktioniert es.
Das umbennen der Felder usw. finde ich auch sinnvoll, der orientierungs halber.
ohh ein Fehler ist noch vorhanden. bei der Kundenverwaltung, kann ich keinen Kunden in der Suchauswahl mehr öffnen.
rs.FindFirst "KundeID = '" & Me!Suche & "'"
Datentypenkonflikt in Kriterienausdruck.
irgendwie fehlt mir grad die idee der lösung.
muss man hiermit arbeiten:
Private Sub Form_Current()
Me!UFPartner.Form!cboKurse.Requery
Me!UFPartner.Form!cboKunde1_ID.Requery
????????
Hallo McBlinki,
Zitatrs.FindFirst "KundeID = '" & Me!Suche & "'"
KundeID ist vom Typ Long (Zahl), da müssen die ' raus.
rs.FindFirst "KundeID = " & Me!Suche
Zitatmuss man hiermit arbeiten:
Private Sub Form_Current()
Me!UFPartner.Form!cboKurse.Requery
Me!UFPartner.Form!cboKunde1_ID.Requery
Das dient nur der Aktualisieung der Kombis im
UFo "Partner"
gruss ekkehard
hier einmal das update der kompletten, nun mit einbau einer serienbrief funktion und überarbeiten Frm, tbl namen, der ordnung halber.
neuer Fehler der auftritt:
Ich kann keine Berichte der Kurse auf einzelne Kurse beschränken. ID hab ich durch Kurs_ID ersetzt, aber das brachte nichts.
Wie schaffe ich nun , dass in einem Kurs Bericht, die Paare untereinander stehen?
@Beaker: Vielen Dank für die Antwort, ich hab auch daran später gedacht die ' rauszunehmen... ::)
[Anhang gelöscht durch Administrator]
Hallo McBlinki,
ZitatWie schaffe ich nun , dass in einem Kurs Bericht, die Paare untereinander stehen?
Mit Berichten kenne ich mich nicht so aus, habe ich mich
bis jetzt nur am Rande damit beschäftigt (schäm). Ich
denke aber Du könntest den Bericht so ähnlich aufbauen,
wie das Kunden-Form, also die Partner als Unterbericht.
Die Datenherkunft für den Hauptbericht ist dann natürlich
die Tabelle Kurse. Unterbericht beruht wieder auf der
Zuordnungstabelle. Ob Du die Felder da untereinander
statt nebeneinander plazierst ist ja ganz dir überlassen.
hth
gruss ekkehard