Kopieren

mikel

Aktiver Benutzer
Beiträge
38
Hallo zusammen,
habe folgende Frage:
Möchte Werte von Tabelle 1 in Tabelle 2 kopieren. Heir handelt es sich um Textfelder und Zahlenfelder. Mit den Zahlenfelder geht es. Aber Mit den TExtfeldern gibt es ein Problem. Ich glaube es liegt an der Formatierung.

Heir der Code:
Code:
    'Daten aus Tabelle1 in Tabelle 2 einfügen alle 12 Werte
     SQLStr = "INSERT INTO tbl_mitglieder_export (mitgliederid, Vorname, PLZ ) VALUES(" & m_id & ",  " & satz_vorname & " , " & satz_plz & ")"
      CurrentDb.Execute SQLStr, dbFailOnError
      
    .MoveNext
    Loop
    .Close

Augenmerk: Vorname.
 
Werbung:
Values bestimmt immer nur einen Datensatz, wo man mehrere nacheinander in eigene Klammern schreiben müsste.

hier ein vollständiges Beispiel:
1.: Quell-Tabelle erstellen
Code:
create table quell_tabelle(id integer);

2.: Ziel-Tabelle erstellen
Code:
create table ziel_tabelle(id integer);

3.: Werte in die Quelle einfügen
Code:
insert into quell_tabelle(id) select 1 union select 2 union select 3;

4.: Prüfen ob Werte in Quell-Tabelle liegen
Code:
select * from quell_tabelle;

5.: die Werte aus Quell-Tabelle in die Ziel-Tabelle schreiben:
Code:
insert into ziel_tabelle(id) select id from quell_tabelle;

Hoffe ich hilft dir ;)

bei mehreren Spalten einfach nacheinander schreiben, die Ziel-Spalten müssen in der gleichen Reihenfolge stehen.

Falls es dann immernoch nicht geht, liegt es am Datentyp.
convert ist hier ein Stichwort ;)
 
Vermutlich ist das ein klassischer Fall von unnötiger Arbeit und Fehlerquellen.
Immer, wenn Du Code baust, der in einer Loop eine Datenbankabfrage durchführt, ist die Wahrscheinlichkeit hoch, dass es ohne Loop geht:

Insert into TableA (columnlist)
Select columnlist from AnyOtherOrSameTable
where <condition>

Zu Deiner Schilderung
Aber Mit den TExtfeldern gibt es ein Problem. Ich glaube es liegt an der Formatierung.

Welches Problem gibt es denn?
- Wenn es "ein Problem" gibt, äußert sich das in Fehlermeldungen oder in zerstörten, fehlenden oder doppelten Daten.
- Wenn Du Codeteile weglässt, die das SQL Statement betreffen, kann man Probleme schlecht eingrenzen.

Welche Formatierung?
- In Deinem Code gibt es keine Formatierung. Oder meinst Du Typisierung? Oder meinst du die Formatierung des Codes?

Was man in solchen Fällen normalerweise macht:
- Table Definition als Create Statement posten (mindestens alle betroffenen Spalten)
- Fehlermeldung posten
- Variableninhalte posten, die nicht aus dem Code ersichtlich sind
 
Werbung:
Zuerst einmal Danke für Eure Antwort.

Habe das Problem selbst gelöst. Beim Insert muss ich im SQL-Statment mitteilen ob es sich um eine Zahl oder einen Text handelt.

Hier die Lösung:
Code:
' " & satz_vorname & " '
 
Zurück
Oben