Transferspreadsheet

18/06/2009 - 13:06 von Klaus Oberdalhoff | Report spam
Hi,

(Acc 2003 SP3 + Hotfix Vista 64 / Excel 2003 Sp max)

Bequemlichkeitsfrage zum Transferspreadsheet: Gibt es eigentlich eine
einfache Möglichkeit, den Transferspreadsheet beim Import zu veranlassen,
automatisch einen Primary Key mit laufender Nummer zu erzeugen, so wie das
automatisch passiert, wenn man manuell mittels "Datei Import " den
Import veranlasst. Das wàre ganz praktisch.

Hat einer 'ne Idee ? Ich hab' nix dazu gefunden.

PS: Latürnich weiss ich, wie ich den Kram per VBA etc etc erzeugen kann,
aber ein DDE-Script z.B. hàngt den PK hinten dran, d.h.
ich muss ziemlichen Aufwand treiben um das zu tun, entweder per Office
Automation oder mir eine Tabelle vorher anlegen und da rein importieren (was
problematisch ist, da die Spaltenanzahl unterschiedlich ist) etc. etc. ...

mfg

Klaus
 

Lesen sie die antworten

#1 Peter Doering
18/06/2009 - 13:26 | Warnen spam
Hallo Klaus,

Klaus Oberdalhoff wrote:

(Acc 2003 SP3 + Hotfix Vista 64 / Excel 2003 Sp max)

Bequemlichkeitsfrage zum Transferspreadsheet: Gibt es eigentlich eine
einfache Möglichkeit, den Transferspreadsheet beim Import zu veranlassen,
automatisch einen Primary Key mit laufender Nummer zu erzeugen, so wie das
automatisch passiert, wenn man manuell mittels "Datei Import " den
Import veranlasst. Das wàre ganz praktisch.

Hat einer 'ne Idee ? Ich hab' nix dazu gefunden.

PS: Latürnich weiss ich, wie ich den Kram per VBA etc etc erzeugen kann,
aber ein DDE-Script z.B. hàngt den PK hinten dran, d.h.
ich muss ziemlichen Aufwand treiben um das zu tun, entweder per Office
Automation oder mir eine Tabelle vorher anlegen und da rein importieren (was
problematisch ist, da die Spaltenanzahl unterschiedlich ist) etc. etc. ...



Der Import-Assistent macht aber genau das, also bei entsprechender Auswahl
einen Autowert im Ziel einfuegen. Ich denke, da kommst du nicht drum herum.

Nachdem du TransferSpreadsheet auch per VBA aufrufst (kein Makro, oder?),
kannst du danach per SQL die Zeilen nachschiessen:

strSQL = "ALTER TABLE DeineTab ADD PK AUTOINCREMENT"
Db.Execute strSQL, dbFailOnError
strSQL = ALTER TABLE DeineTab ADD CONSTRAINT PK_DeineTab PRIMARY KEY (PK)"
Db.Execute strSQL, dbFailOnError

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen