|
▼NT さん:
おはようございます。
色々やり方はあると思われますが、
1) 取り込み前に加工
2) 加工しながらテーブルに取り込み
3) 取り込みした後に加工
のどれでも VBA で可能だと思われます。
以下は 3) の方法のサンプルコードです。
Sub テーブル名を変更()
'要参照DAO x.x Object Library
Dim FName As String '対象テキストファイルのフルパス
Dim TName As String '取り込み先のテーブル名
Dim DB As DAO.Database
Dim TDF As DAO.TableDef
Dim F As DAO.Field
Dim i As Long
FName = "C:\Temp.txt"
TName = "T_Test"
If DCount("*", "MSysObjects", "Name = '" & TName & "'") > 0 Then _
DoCmd.DeleteObject acTable, TName
DoCmd.TransferText acImportDelim, "", TName, FName, True
Set DB = CurrentDb
Set TDF = DB.TableDefs(TName)
i = 1
For Each F In TDF.Fields
If Not (F.Name = "品番" Or F.Name = "品名") Then
F.Name = "日付" & i
i = i + 1
End If
Next
Set TDF = Nothing
Set DB = Nothing
End Sub
コードは提示させて頂きましたが、
>1行目:品番,品名,日付1(例:1/5),日付2(例1/6),日付3(例1/8)...←フィールド名
>2行目:A , ギア, 200 ,300 ,100
>3行目:B , ボルト,250 ,200 ,50
このようなテーブルを持つと後々苦労されると思いますよ。
(Excel ですとこのような値の持ち方で良いのですが…。)
T_出荷
SEQ 品番 日付 値
1 A 2005/01/05 200
2 A 2005/01/06 300
3 A 2005/01/08 100
4 B 2005/01/05 250
5 B 2005/01/06 200
6 B 2005/01/08 50
T_品名マスタ
品番 品名
A ギア
B ボルト
上記は一例ですが、テーブルの正規化をする事によって
今後のメンテナンスが楽になると思われます。
|
|