2017-06-26 9 views
3

Für ein Projekt möchte ich eine Abfrage verwenden, um mehrere Zeilen in eine Tabelle einzufügen. Ich habe mehrere Threads dazu gefunden, zum Beispiel this one, die wirklich hilfreich waren, aber ich kann immer noch nicht herausfinden, wie man mehrere Zeilen einfügt.MS Access mehrere Zeilen einfügen

Der SQL-Code, den ich derzeit habe, verursacht keinen Syntaxfehler, aber er fügt nur keine Zeilen ein.

Meine Tabelle, die ich in Aussehen eingefügt werden soll wie:

create table SYT_ABRDAT 
(
    id integer primary key not null, 
    beginper integer, 
    eindper integer, 
    periode text, 
    groep bit 
) 

Die Abfrage, die ich zur Zeit mit (ich habe es kürzer):

insert into syt_abrdat (id, begindat, einddat, periode, groep) 
    select * 
    from 
     (select top 1 
      "1" as id, "9999" as begindat, "9999" as einddat, 
      "---" as periode, "1" as groep 
     from 
      onerow 
     union all 
     select top 1 
      "2" as id, "9999" as begindat, "9999" as einddat, 
      "XXX" as periode, "1" as groep 
     from 
      onerow 
     ) 

Lösung:

Ich habe eine leere Zeile in die Tabelle onerow eingefügt, anstatt sie mit einigen Daten zu füllen.

Dies ist notwendig,

Antwort

3
INSERT INTO syt_abrdat (id,begindat,einddat,periode,groep) 
SELECT * FROM 
    (SELECT TOP 1 1 AS id, 9999 AS begindat, 9999 as einddat, '---' as periode, 'WAAR' as groep FROM onerow UNION ALL 
    SELECT TOP 1 2 AS id, 9999 AS begindat, 9999 as einddat, 'XXX' as periode, 'WAAR' as groep FROM onerow) 

Kommentare:

  • Benutzen Sie für Literalzeichenfolge Werte
  • keine Anführungszeichen für wörtliche Zahlen
  • der Tabelle Verwenden Sie onerow muss mindestens 1 Aufzeichnung
+1

, die normalerweise in anderen Datenbanken funktionieren würden, aber der ms-Zugriff erlaubt nicht mehrere Insert-Anweisungen. Sie können dies mit einer Union austricksen. siehe: https://stackoverflow.com/questions/62504/is-there-any-way-to-create-multiple-insert-statements-in-a-ms-access-query/65027#65027 –

+0

@ B.Termeer - Das habe ich verpasst, danke. Wenn Sie diese Frage betrachten, sind Sie sicher, dass die Tabelle, auf die Sie verweisen ("onerow"), eine Zeile hat? Wenn es keine gibt, wäre dies ein erwartetes Ergebnis (keine Datensätze eingefügt). – Igor

+0

danke für Ihre Antwort. Ich habe es versucht, aber immer noch das Problem, dass Null Zeilen hinzugefügt werden. Ich werde den Tisch ein wenig überprüfen. Wenn ich eine Zeile hinzugefügt habe, werde ich die Tabellenstruktur von onerow –

Verwandte Themen