Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Recordset Clone problem!?

Begonnen von silentwolf, August 09, 2011, 09:42:37

⏪ vorheriges - nächstes ⏩

database

Hallo Albert,

in deiner DB fehlen 3 Formulare!

frmKunKorr, frmKunGruppe und frmKundenNummer

Beim Öffnen des Formulars frmKunden erscheinen die entsprechenden Fehlermeldungen.

Schieß' mal die Formulare schnell nach bitte!

silentwolf

Hallo Peter,
ich konnte leider die DB nicht ganz senden da sie sonst zu gross ist.
Wie soll ich Dir diese nun nachsenden??
Hab sie in eine neue DB eingefügt bekomme nun aber auch wieder fehlermeldungen da ander Formulare nicht darauf zugreifen können :(
WERd noch verrückt ggg

Danke

database

Hi,

stell mal die DB mit den 3 Forms rein, ich versuch sie dann in die erste einzubinden

silentwolf

sollte unterweg sein.



[Anhang gelöscht durch Administrator]

database

Hallo Albert,

hat tadellos geklappt - es fehlt allerdings noch immer das frmKundenNummer  :-\


silentwolf

oh kommt sofort :)
tut mir leid!!!

kommt sofort nachgeliefert ggg

Bitteschön :)

[Anhang gelöscht durch Administrator]

database

Hallo Albert,

der Aufruf des Formulars frmKunKorr und setzen der Kun_id_f in diesem funktioniert nun.
Auslöser ist der Aufrufbutton im frmKunde.

Code hinter dem Button Korrespondenz (der erste in der Liste) ist von mir dokumentiert.
Das Ereignis 'Beim Öffnen' des frmKunKorr aber habe ich stillgelegt, da sie nicht benötigt wird.

Schau mal rein ich glaub' das passt so...  ;)

p.s. lies mal meine Antwort #8    ::) ;)

[Anhang gelöscht durch Administrator]

silentwolf

Hallo Peter,
danke na die Kun_id wird angezeigt aber wenn ich es schließe bekomme ich auch noch eine Fehlermeldung die sagt das es keinen Null wert geben darf??
Hab auch was hinzugefügt aber noch immer :(
Danke auf alle Fälle schon mal!!!!!!!!!!!!!

silentwolf

Peter,
hab es nun geschafft aber was ist wenn man irrtümlicherweise diesen button klickt und wieder zumachen will dann hat man glaub ich ein problem das der Datensatz eventuell nicht speichert oder bzw. zumacht und die Id verlohren geht.

Weist was ich meine?
Also Korrespondenz nr 100 ist leer

database

Hallo,

das stimmt nicht ganz Albert.

Wenn du einen Kunden anlegst und Korrespondenz klickst wird erst einmal die Kun_id_f ins Formular übertragen.
Wenn du dann eine Korrespondenz auswählst - ich habe einen Eintrag in der Tablle erstellt n- dann bekommst du die KorrespondenzID ebenfalls ins Formular
Danach füllst du das Datum aus und klickst auf das Info-Feld - Es öffnet sich eine neue Eingabeform und da gibst irgendwas ein.
Dann schließ mal das frmKunKorr - KEINE Fehlermeldung.

D.h. ALLE Felder müssen ausgefüllt werden!

p.s.

Für den von dir beschriebenen Fall - irrrtümlich öffnen - musst du eine Fehlerbehandlung einbauen!

silentwolf

Ja habs gerade auch gemerkt und danke!!!

Ja fehlerbehandlung ggg da wären wir wieder beim nächsten :(
bwoahhhhhhhh
Du hast ja jetzt meine zwei varianten gesehen eines mit den Registern und eines mit eben den Buttons.

Was denkst Du was ist den besser??
Oder wie soll ich die db am besten mit formularen bestreiten?

Danke

database

Hallo Albert,

Fehlerbehandlung...
schreibe im Formular frmKunKorr:


Private Sub Form_Error(DataErr As Integer, Response As Integer)
    If DataErr = 3058 Then ' Indexfehler durch nicht eingetragene Daten
        Response = acDataErrContinue
        DataErr = 0
    End If
End Sub


.... und ändere den Code im Click-Ereignis des Button im frmKunde:


Private Sub cmdKorres_Click()

On Error GoTo errhandle

DoCmd.OpenForm "frmKunKorr", , , "Kun_id_f =" & Me!Kun_id

'EDIT database ------------------------------------------
'----Setzt die Kun_id_f im geöffnetetn Formular ---------
'----wenn kein relevanter Datensatz gefunden werden kann-
'----gilt dann, wenn DEIN Code weiter unten wieder-------
'----aktiviert wird. Nachfolgende Bedingung besteht unten bereits!

If IsNull(Forms!frmKunKorr!Kun_id_f) Then
    Forms!frmKunKorr!Kun_id_f = Me!Kun_id
End If

'--------------------------------------------------------

'   Dim rs As DAO.Recordset
'
'   If CurrentProject.AllForms!frmKunKorr.IsLoaded Then
'
'   Set rs = Forms!frmKunKorr.RecordsetClone
'
'   'im RecordsetClone von Formular2 die Id aus dem aktuellen Formular finden
'   rs.FindFirst "Kun_id_f = " & Me!Kun_id
'      If Not rs.NoMatch Then
'         'Anzeige im Formular2 mit dessen RecordsetClone synchronisieren
'         Forms!frmKunKorr.Bookmark = rs.Bookmark
'      End If
'   rs.Close
'   Set rs = Nothing
'Else
'    DoCmd.OpenForm "frmKunKorr", , , "Kun_id_f = " & Me!Kun_id
'    If IsNull(Forms!frmKunKorr!Kun_id_f) Then
'        Forms!frmKunKorr!Kun_id_f = Me!Kun_id
'    End If
'End If

Exit Sub
errhandle:

    If Err.Number = 3075 Then   'Es wurde das Form aus einem leeren Datensatz aufgerufen
        Err.Clear
        Exit Sub
    End If
   

End Sub


Ob du Variante 1 oder 2 verwendest hängt von deiner Arbeitsweise ab.
Kompakter wäre natürlich die mit den Registern.

silentwolf

Danke Peter!!
hast mir wieder sehr viel geholfen vielen Dank!
Für die Rechnungslägung hätte ich noch eine Frage und zwar sind da ja einige Tabellen die dort miteinander verlinkt sind.
Wie soll man hier den vorgehen?
War einige Zeit mit anderen Dingen beschäftigt und die Db ist wohl noch ziehmlich gleich wie sie mal war :(

Es geht eh schon viel besser aber halt noch nicht so das ich es nützen kann... Leider

database

Hallo,

also ich denke, dass es sinnvoll sein wird die Datenmäßige Erstellung einer Rechnung mit HF und UF zu bewerkstelligen.
D.h. Ein Formular 'frmRechnung' für die Aufnahme der Daten der Tabelle tblRechnung und dazu ein
UF 'UfrmRechDetails' das über die Felder Rech_id (HF) und Rech_id_f (UF) verknüpft ist, zur Aufnahme der Daten für die tblRechDetails.
Wenn du das UF als Endlosform erstellst hast du relativ schöne Möglichkeiten auch die Kombis für Steuersatz und Projekte unterzubringen.

Für den Ausdruck der Rechnung - natürlich ein schöner Bericht als Rechnungsformular - ist dann aber auch anzudenken,
dass auf Grund der nicht erfassbaren Informationen aus dem verrechneten Projekt (das wären einzelne Posten in den Rechnungsdetails)
ein entsprechender Datenauszug beizulegen ist, aus dem hervorgeht WAS dem Kunden in Rechnung gestellt wird.


silentwolf

Peter,
ok na das sollte ich schaffen nur wie mache ich es mit den Kunden?
Durch ein Kombifeld den Kunden auswählen?
Und was ist mit den Details also wenn ich verschiedene Produkte den Kunden verrechnen möchte
da sind ja wieder viele andere Tabellen miteinander verknüpft die ich ja nicht alle einfach so in das formular bekomme oder?

Danke