
Accessで簡単なVBAを書いています。
以下のコードでレコードを追加しようとしています。
rs.AddNew
rs!ほげ = "ほげほげ"
rs!ふう = "ふうふう"
rs!hoge(ほげ) = "げほげほ"
rs!foo(ふう) = "うふうふ"
rs.Update
結果:
実行時エラー'3265':
要求された名前、または序数に対応する項目がコレクションで見つかりません。
rs!hoge(ほげ)の行で起こります。フィールド名に ( や ) を使わないようにするとうまくいきます。
CSVからのインポートの問題もあってフィールド名は変更できません。
このフィールド名のままうまくいく方法はありませんか?
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
rs.Fields("hoge(ほげ)").Value = "げほげほ"
という書き方はできませんか?
私ならAddNewメソッドを使用せずExecuteSQLでINSERTしますが…
ありがとうございます。できました。
>私ならAddNewメソッドを使用せずExecuteSQLでINSERTしますが…
SQLの分からない人にメンテしてもらいたいごくごく小規模なものを作っているのでAddNewメソッドはよいメソッドだと思います。
言語・環境ごとのやり方ってものがあるとも思いますし。VBAの常識がどっちなのかは知りませんが(^^;;
大変助かりました。ありがとうございます。
No.2
- 回答日時:
下記のような書き方があります。
なお、フィールド名に敢えてAccessの予約語を入れてみました (^^ゞ
http://support.microsoft.com/default.aspx?scid=k …
Sub test()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("tb1")
rs.AddNew
rs![(now)] = Now '[] で囲む
rs("(now)") = Now 'フィールド名で
rs(0) = Now 'インデックスで
rs.Update
rs.Close
End Sub
[] で囲む方法は SQL文でも同様ですので宜しいかと思います。
私なら・・生理的に許せないので、CSVファイルを何とかしたいと考えます。
ありがとうございます。できました。
ANo.1に回答いただいた方法もこちらの方法もADO、DAOどちらでもOKでした。
>私なら・・生理的に許せないので、CSVファイルを何とかしたいと考えます。
まったくです。
今回は費用対効果を考えて"気にしない"ことにします。(笑)
大変助かりました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
5
文字列内で括弧を使うには
Visual Basic(VBA)
-
6
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
7
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
8
新規レコード行を非表示にしたい
Access(アクセス)
-
9
Access2000、これはいったい・・・・
その他(データベース)
-
10
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
11
「#エラー」の回避
Access(アクセス)
-
12
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
13
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
14
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
15
access クエリの抽出条件を入れるとパラメーターの入力が出てしまう
Access(アクセス)
-
16
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
17
Excel VBAからAccessマクロを実行したい
Visual Basic(VBA)
-
18
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
19
SQL文(テーブル項目名が特殊文字)
その他(プログラミング・Web制作)
-
20
VBAで文字を反映させると255文字の制限になってしまいます。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSで視覚的タイムテーブル...
-
AccessのDAOでフィールド名を配...
-
日付と文字列を条件としてDLook...
-
クリスタルレポートの式フィー...
-
INT64対応のprintf系関数はあり...
-
Access 2010で実行時エラー3061
-
テーブルのデータ型の変更がで...
-
NULLを含む文字列の結合で...
-
Access :ALTER TABLE で作成...
-
SQLで複数のテーブルと結合した...
-
クリスタルレポート(8.5)の書式...
-
Access クエリで変数を参照する...
-
ADOX フィールドのRequiredプ...
-
ASP.NET 2.0(C#) GridViewのソ...
-
accessでフィールド追加のあと...
-
XMLでデータとして画像を指定す...
-
『列名 '担当者CD' があいま...
-
VB2010で、選択した系列を最前...
-
C#でbyte配列から画像を表示さ...
-
【VB】コンボボックスにデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessでフィールド追加のあと...
-
SQLで複数のテーブルと結合した...
-
INT64対応のprintf系関数はあり...
-
2つ目のレコードの値を取得す...
-
Access クエリで変数を参照する...
-
Accessのフィールド名に半角括...
-
DataTableに特定のフィールドが...
-
クリスタルレポート(8.5)の書式...
-
AccessのDAOでフィールド名を配...
-
NULLを含む文字列の結合で...
-
Access 2010で実行時エラー3061
-
日付と文字列を条件としてDLook...
-
オートナンバー型を抽出条件に...
-
2次元のdictionary
-
ACCESSで日別集計をする場合
-
AccessVBAで他テーブルのデータ...
-
テーブルのデータ型の変更がで...
-
ACCESSデータベースにV...
-
アクセスでADO 並べ替えが適用...
-
Accessの画像挿入のVBAコード
おすすめ情報