よろずやネット

最近はLibreofficeにハマっています。

OLEDB+mdb新規テーブル作成

*** 着地点: OLEDB+mdbのデータソースを元にVB.NETからfyiReporting RDLレポートを印刷する ***

前回は空の新規mdbファイルを作成した。
今回はその中に新規テーブルの作成にトライ。

今までのRDLレポートのテストで使用していたテーブルに、コラムを1つ追加する事に変更することにした。
今回からのコラム名は下記の通り。
<id><report_id><code><name><color><quantity><unit_price><amount>

<id>は、自動で番号が増えるインデックスコラム、
<report_id>は、レポートに出力するデータのIDとする。

早速コードを記述していくが、今回も苦戦した。
理由は、アクセス(mdb)のSQLと、慣れ親しんでいるMySQLのSQLとの違いのせいだ。
MySQLのSQLはISO標準に近いと私は認識しているので、おそらくアクセスのSQLが少し特別なのだろうと思う。

苦労したのは、自動で番号が増えるコラムの作成。これだけで数時間も費やした。

MySQLでは、
CREATE TABLE テーブル名 (id INTEGER NOT NULL AUTO_INCREMENT)

アクセスでは、
CREATE TABLE テーブル名 (id AUTOINCREMENT PRIMARY KEY)

となるようだ。
アクセスの自動で番号が増えるコラムは、データ型を指定しないのである。勉強になった。
AUTO_INCREMENT と AUTOINCREMENT のように表記も異なる。


以下は苦戦して作った新規テーブル作成ファンクション。


---
前回の空の新規mdbファイルを作成も変更した。
(Buttonクリックイベントに適用)




次回に続く…