Archiv

Hallo,

also, Du sprichst in Rätseln… ???

Ich hab also alle Felder in der Select Liste über das direkt
Fenster und debug.print erwischt. Nun fehlt nur noch, wie ich
die Feldinhalte in der Tabelle Archiv in der richtigen Spalte
wieder loswerde.

???

CurrentDb.Execute „Insert into Archiv select
Prozessnummer,Prozess, Kunde,[Kommentar Kunde], Fehler,
Regelprozess, Wahrscheinlichkeit as [Kommentar Kunde]from
[Aktiv UB] where Prozess= '“ & Me!Prozess & „’“

Meldung ist:
Doppelter Alias-Name für Ausgabe '[Kommentar Kunde].

Natürlich, wenn Du „Kommentar Kunde“ auch zweimal benutzt…

Klar, das passiert wenn ich die gleichen Feldbezeichnungen in
der Archiv-Tabelle benutze.

nix „in der Archiv-Tabelle“ … Du benutzt den gleichen Namen zweimal in der SELECT-LISTE…

In der Archiv-Tabelle MÜSSEN dieselben Namen wie in der Select-Liste vorkommen, sofern nicht eine definierte Reihenfolge im Insert Into … Abschnitt angegeben ist.

Also entweder Tabelle Archiv alle Spalten mit Textinhalt
ändern, oder vielleicht andere Lösungen ???

???

Außerdem haben wir doch schon festgestellt, dass eine FROM-Angabe an ein Unterformular ([Aktiv UB]) Quatsch ist… ??

Viele Grüße
Franz,DF6GL

Hallo,

auch Hallo…

also, Du sprichst in Rätseln… ???

gar nicht…

Ich hab also alle Felder in der Select Liste über das direkt
Fenster und debug.print erwischt. Nun fehlt nur noch, wie ich
die Feldinhalte in der Tabelle Archiv in der richtigen Spalte
wieder loswerde.

CurrentDb.Execute „Insert into Archiv select
Prozessnummer,Prozess, Kunde,[Kommentar Kunde], Fehler,
Regelprozess, Wahrscheinlichkeit as [Kommentar Kunde]from
[Aktiv UB] where Prozess= '“ & Me!Prozess & „’“

Meldung ist:
Doppelter Alias-Name für Ausgabe '[Kommentar Kunde].

Natürlich, wenn Du „Kommentar Kunde“ auch zweimal benutzt…

Wieso zweimal ? Ich hab doch mit der Select-Liste die Feldinhalte aus der Ursprungstabelle ausgelesen und muss diese dann doch in die Zieltabelle einfügen - oder ?
Dazu muss ich doch die Spalten angeben, in die die Inhalte eingefügt werden müssen… - oder macht er das von ganz allein anhand der Spaltenbezeichnung der Zieltabelle aufgrund der Insert Anweisung… ?

nix „in der Archiv-Tabelle“ … Du benutzt den gleichen
Namen zweimal in der SELECT-LISTE…

Und ich dachte der Teil der mit as beginnt bezieht sich auf die Zieltabelle…

In der Archiv-Tabelle MÜSSEN dieselben Namen wie in der
Select-Liste vorkommen, sofern nicht eine definierte
Reihenfolge im Insert Into … Abschnitt angegeben ist.

aha ?

Außerdem haben wir doch schon festgestellt, dass eine
FROM-Angabe an ein Unterformular ([Aktiv UB]) Quatsch ist…

Wieso Unterformular ? - Gibt´s nicht !

Fakt ist, er setzt die Feltinhalte der Textfelder einfach nicht in die Zieltabelle „Archiv“…

Hast Du noch ein Ansatz ???

Danke schon mal…

Christian

Hallo,

lol…

Beantworte mir bitte NUR und vollständig die folgenden Fragen:

Wie heißt die Quelltabelle?
.
.
.

Wie heißen die Tabellenfelder darin und welchen Datentyp haben die jeweils?
.
.
.

Wie heißt die Zieltabelle?
.
.
.

Wie heißen dort die Tabellenfelder und welche Datentypen haben die?
.
.
.

Wie lautet der Formularname, in dem die Daten der Quelltabelle angezeigt werden?
.
.

Was steht in der Eigenschaft „Datenherkunft“ dieses Formulares?
.
.

Welchen Namen haben die Steuerlemente, die diese Daten anzeigen?
.
.
.
.

Gruß
Franz, DF6GL

Hallo,

Hallo

Beantworte mir bitte NUR und vollständig die folgenden Fragen:

Wie heißt die Quelltabelle?

Aktiv UB

Wie heißen die Tabellenfelder darin und welchen Datentyp haben
die jeweils?

Kunde (Zahl)
Kommentar Kunde (Text)
Fehler (Zahl)
Kommentar Fehler (Text)

Wie heißt die Zieltabelle?

Archiv

Wie heißen dort die Tabellenfelder und welche Datentypen haben
die?

Kunde (Zahl)
Kommentar Kunde (Text)
Fehler (Zahl)
Kommentar Fehler (Text)

Wie lautet der Formularname, in dem die Daten der Quelltabelle
angezeigt werden?

Aktiv UB

Was steht in der Eigenschaft „Datenherkunft“ dieses
Formulares?

Aktiv UB

Welchen Namen haben die Steuerlemente, die diese Daten
anzeigen?

Kunde
Kommentar Kunde
Fehler
Kommentar Fehler

Gruß
Franz, DF6GL

Gruß zurück
Christian

Hallo,

Hallo

Beantworte mir bitte NUR und vollständig die folgenden Fragen:

Wie heißt die Quelltabelle?

Aktiv UB

Wie heißen die Tabellenfelder darin und welchen Datentyp haben
die jeweils?

Kunde (Zahl)
Kommentar Kunde (Text)
Fehler (Zahl)
Kommentar Fehler (Text)

Wie heißt die Zieltabelle?

Archiv

Wie heißen dort die Tabellenfelder und welche Datentypen haben
die?

Kunde (Zahl)
Kommentar Kunde (Text)
Fehler (Zahl)
Kommentar Fehler (Text)

Wie lautet der Formularname, in dem die Daten der Quelltabelle
angezeigt werden?

Aktiv UB

Was steht in der Eigenschaft „Datenherkunft“ dieses
Formulares?

Aktiv UB

Welchen Namen haben die Steuerlemente, die diese Daten
anzeigen?

Kunde
Kommentar Kunde
Fehler
Kommentar Fehler

Ok, dann muss das so heißen, wenn bei jeder Änderung der Datensatz in die Archiv-Tabelle geschrieben werden soll:

Currentdb.Execute "Insert into Archiv Select Kunde, [Kommentar Kunde], Fehler, [Kommentar Fehler] from [Aktiv UB] where Kunde=" & Me!Kunde 

Wenn ein Literalstring anstelle eines Feldwertes in z. B. „Kommentar Fehler“ geschrieben werden soll, dann so:

Currentdb.Execute "Insert into Archiv Select Kunde, [Kommentar Kunde], Fehler, 'Das ist der neue Fehlerkommentar' as [Kommentar Fehler] from [Aktiv UB] where Kunde=" & Me!Kunde 

oder wenn man den Literaltext an den Feldinhalt anhängen will:

Currentdb.Execute "Insert into Archiv Select Kunde, [Kommentar Kunde], Fehler, [Kommentar Fehler] & ' und zusätzlicher Fehlerkommentar' as [Kommentar Fehler] from [Aktiv UB] where Kunde=" & Me!Kunde 

Es ginge auch mit den Formularfeldern:

Currentdb.Execute "Insert into Archiv Values ( " & Me!Kunde & ",'" & Me![Kommentar Kunde] & "'," & Me!Fehler & ",'" & Me![Kommentar Fehler] & "' & ' und zusätzlicher Fehlerkommentar' as [Kommentar Fehler] ) " 

Gruß
Franz, DF6GL

Hallo,

Ok, dann muss das so heißen, wenn bei jeder Änderung der
Datensatz in die Archiv-Tabelle geschrieben werden soll:

Absolut richtig erkannt !!

Currentdb.Execute „Insert into Archiv Select Kunde, [Kommentar
Kunde], Fehler, [Kommentar Fehler] from [Aktiv UB] where
Kunde=“ & Me!Kunde

-negativ, Funktioniert nicht.
Laufzeitfehler 3103
Von Alias 'Kommentar Kunde’verursachter Zirkelbezug in der SELECT-Liste der Abfragedefinition.

Wenn ein Literalstring anstelle eines Feldwertes in z. B.
„Kommentar Fehler“ geschrieben werden soll, dann so:

Currentdb.Execute „Insert into Archiv Select Kunde, [Kommentar
Kunde], Fehler, ‚Das ist der neue Fehlerkommentar‘ as
[Kommentar Fehler] from [Aktiv UB] where Kunde=“ & Me!Kunde

-negativ, Funktioniert nicht.
Laufzeitfehler 3103
Von Alias 'Kommentar Kunde’verursachter Zirkelbezug in der SELECT-Liste der Abfragedefinition.

oder wenn man den Literaltext an den Feldinhalt anhängen will:

Currentdb.Execute „Insert into Archiv Select Kunde, [Kommentar
Kunde], Fehler, [Kommentar Fehler] & ’ und zusätzlicher
Fehlerkommentar’ as [Kommentar Fehler] from [Aktiv UB] where
Kunde=“ & Me!Kunde

-negativ, Funktioniert nicht.
Laufzeitfehler 3103
Von Alias 'Kommentar Kunde’verursachter Zirkelbezug in der SELECT-Liste der Abfragedefinition.

Es ginge auch mit den Formularfeldern:

Currentdb.Execute "Insert into Archiv Values ( " & Me!Kunde &
„,’“ & Me![Kommentar Kunde] & „’,“ & Me!Fehler & „,’“ &
Me![Kommentar Fehler] & "’ & ’ und zusätzlicher
Fehlerkommentar’ as [Kommentar Fehler] ) "

-hab ich jetzt noch nicht versucht.
Möchte das schon gern aus der Tabelle haben…

Ich vermute, dass ich um das Umbenennen der Spalten nicht herum kommen werde… - oder ?

Gruß
Franz, DF6GL

Gruß Christian

Hallo,

Ok, dann muss das so heißen, wenn bei jeder Änderung der
Datensatz in die Archiv-Tabelle geschrieben werden soll:

Absolut richtig erkannt !!

Currentdb.Execute „Insert into Archiv Select Kunde, [Kommentar
Kunde], Fehler, [Kommentar Fehler] from [Aktiv UB] where
Kunde=“ & Me!Kunde

-negativ, Funktioniert nicht.
Laufzeitfehler 3103
Von Alias 'Kommentar Kunde’verursachter Zirkelbezug in der
SELECT-Liste der Abfragedefinition.

Wenn ein Literalstring anstelle eines Feldwertes in z. B.
„Kommentar Fehler“ geschrieben werden soll, dann so:

Currentdb.Execute „Insert into Archiv Select Kunde, [Kommentar
Kunde], Fehler, ‚Das ist der neue Fehlerkommentar‘ as
[Kommentar Fehler] from [Aktiv UB] where Kunde=“ & Me!Kunde

-negativ, Funktioniert nicht.
Laufzeitfehler 3103
Von Alias 'Kommentar Kunde’verursachter Zirkelbezug in der
SELECT-Liste der Abfragedefinition.

oder wenn man den Literaltext an den Feldinhalt anhängen will:

Currentdb.Execute „Insert into Archiv Select Kunde, [Kommentar
Kunde], Fehler, [Kommentar Fehler] & ’ und zusätzlicher
Fehlerkommentar’ as [Kommentar Fehler] from [Aktiv UB] where
Kunde=“ & Me!Kunde

-negativ, Funktioniert nicht.
Laufzeitfehler 3103
Von Alias 'Kommentar Kunde’verursachter Zirkelbezug in der
SELECT-Liste der Abfragedefinition.

Es ginge auch mit den Formularfeldern:

Currentdb.Execute "Insert into Archiv Values ( " & Me!Kunde &
„,’“ & Me![Kommentar Kunde] & „’,“ & Me!Fehler & „,’“ &
Me![Kommentar Fehler] & "’ & ’ und zusätzlicher
Fehlerkommentar’ as [Kommentar Fehler] ) "

-hab ich jetzt noch nicht versucht.
Möchte das schon gern aus der Tabelle haben…

Ich vermute, dass ich um das Umbenennen der Spalten nicht
herum kommen werde… - oder ?

Das mit dem Zirkelbezug stimmt allerdings…

Trotzdem braucht es keine Umbenennung:

(„Kunde“ muss in „Aktiv UB“ das Primärschlüsselfeld sein!, wenn nicht ist ein weiteres (ID-)Feld (Autowert) erforderlich, damit man den akt. Datensatz GENAU bestimmen kann. In „Archiv“ darf „KUNDE“ NICHT der Primärschlüssel sein und der Index muss Duplikate zulassen.)

Hier wir nicht die Übereinstimmung der Feldnamen gefordert, sondern basiert lediglich auf der Zuordung zu der Feld-Reihenfolge im Insert-Abschnitt.

Sub Form\_Afterupdate()
 
Currentdb.Execute "Insert into Archiv (Kunde, [Kommentar
Kunde], Fehler, [Kommentar Fehler]) Select Kunde, [Kommentar
Kunde], Fehler, [Kommentar Fehler] & ' und zusätzlicher
Fehlerkommentar' as X from [Aktiv UB] where
Kunde=" & Me!Kunde 
 
End Sub

Gruß
Franz, DF6GL

Hallo,

Ich vermute, dass ich um das Umbenennen der Spalten nicht
herum kommen werde… - oder ?

Habe damit geringfügige Erfolge erzielen können.:

Der aktuelle Sub lautet:

CurrentDb.Execute „Insert into Archiv select Prozessnummer,Prozess,Kunde,[Kommentar Kunde] as [KommentarKunde], Fehler,[Kommentar Fehler]as [KommentarFehler], Regelprozess, [Kommentar Regelprozess] as [KommentarRegelprozess],Wahrscheinlichkeit,[Kommentar Wahrscheinlichkeit] as [KommentarWahrscheinlichkeit],[EinzelfallSchaden],[Kommentar EinzelfallSchaden] as [KommentarEinzelfallSchaden], [Letzte Änderung] as [LetzteÄnderung] from [Aktiv UB] where Prozess= '“ & Me!Prozess & „’“

So hab ich in den Spaltennamen der Tabelle Archiv einfach nur die Leerzeichen weggelassen und habe damit Erfolg bis zur Spalte [EinzelfallSchaden].

ab dann macht er nicht mehr weiter…
Laufzeitfehler 3103
Von Alias ‚EinzelfallSchaden‘ verursachter Zirkelbezug in der SELECT-Liste der Abfragedefinition.

Das mit dem Zirkelbezug stimmt allerdings…

Kommt, weil der Spaltenname einfach in der Kommentars Spalte wiederholt wird - oder ?

Trotzdem braucht es keine Umbenennung:

Wäre schön…

(„Kunde“ muss in „Aktiv UB“ das Primärschlüsselfeld sein!,
wenn nicht ist ein weiteres (ID-)Feld (Autowert) erforderlich,
damit man den akt. Datensatz GENAU bestimmen kann. In
„Archiv“ darf „KUNDE“ NICHT der Primärschlüssel sein und der
Index muss Duplikate zulassen.)

Kunde ist nicht das PK Feld… Das ist und bleibt Prozess !

Kunde heißt bei uns ein Prozess, also ein Datensatz in der Tabelle Aktiv UB.

Hier wir nicht die Übereinstimmung der Feldnamen gefordert,
sondern basiert lediglich auf der Zuordung zu der
Feld-Reihenfolge im Insert-Abschnitt.

echt, hier ist die Reihenfolge ausschlaggebend ? Warum ? - wir haben hier doch eine eindeutige Zuordnung… Und die Spaltenreihenfolge stimmt auch ! - verstehe ich nicht !

Gruß
Franz, DF6GL

Christian

Hallo Christian,

ich brech den Thread hier jetzt mal ab…

Du erzählst mir in Deinem letzten Beitrag eine komplett andere Story als im vorangehenden…

Hallo Christian,

Hallo Franz,

ich brech den Thread hier jetzt mal ab…

kein Problem

Du erzählst mir in Deinem letzten Beitrag eine komplett andere
Story als im vorangehenden…

Stimmt so nicht !

Habe alles hinbekommen. (…und sehr viel gelernt…)

Die endgültige Anweisung lautet:
CurrentDb.Execute „Insert into Archiv select Prozessnummer,Prozess,Kunde,[Kommentar Kunde] as [KommentarKunde], Fehler,[Kommentar Fehler]as [KommentarFehler], Regelprozess, [Kommentar Regelprozess] as [KommentarRegelprozess],Wahrscheinlichkeit,[Kommentar Wahrscheinlichkeit] as [KommentarWahrscheinlichkeit], EinzelfallSchaden, [Kommentar EinzelfallSchaden]as [KommentarEinzelfallSchaden],pAWirkungGuVRelevanz,[Kommentar pAWirkungGuVRelevanz]as [KommentarpAWirkungGuVRelevanz], [Letzte Änderung] as [LetzteÄnderung] from [Aktiv UB] where Prozess= '“ & Me!Prozess & „’“

Ich Danke Dir vielmals und hoffe Dich nicht verärgert zu haben.

Was ich vor allem gelernt habe ist, weder Frei- noch Sonderzeichen in Tabellen und Spaltenbezeichnungen zu benutzen, und Abfragen und Formulare anders zu benennen als die Tabellen.

Vielen,vielen Dank !!!

Christian