下のような構造体があり、その値をレコードセットに代入したいと思います。
構造体内の変数名とレコードセットのフィールド名が同じなので名前を
利用して簡潔に書けないかと思うのですが、これは可能でしょうか?
'構造体
Type Product
Price As Long
NameAs String
SizeAs Single
End Type
'変数の宣言
Dim Car As Product
'レコードセットへの代入
With Product
RS("Price").Value = .Price
RS("Name").Value = .Name
RS("Size").Value = .Size
End With
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
参考にならないと思いますが、構造体でなくクラスを使うと、当方覚えたばかりのCallByNameで、For Eachのループで代入できました。
(当方VBAですが)。クラスの内容はpropertyだけなので割愛します。Sub test()
Dim car As productClass
Dim field As Object
Dim rs As Object
Const adBSTR As Long = 8
Const adInteger As Long = 3
Const adSingle As Long = 4
Const adOpenStatic As Long = 3
Const adLockOptimistic As Long = 3
Set car = New productClass
With car
.Price = 50000
.Name = "onboro"
.Size = 2000.5
End With
Set rs = CreateObject("ADODB.Recordset")
With rs
.fields.Append "Price", adInteger
.fields.Append "Name", adBSTR, 50
.fields.Append "Size", adSingle
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open
End With
With rs
.addnew
For Each field In rs.fields
.fields(field.Name).Value = CallByName(car, field.Name, VbGet)
Next field
End With
With rs
For Each field In rs.fields
Debug.Print .fields(field.Name).Value
Next field
End With
Set rs = Nothing
End Sub
ありがとうございます。
今ちょっと、時間がないので後でじっくり読ませていただきます。
わからないところとかあったら、また、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
EXCEL/VBA 変数の値をクリップ...
-
Variant型で宣言してるのにEmpt...
-
jsp~jspにhiddenを使って変数...
-
整数xxxが大き過ぎますというエ...
-
C言語 列挙型(enum型)変数について
-
VB6.0での条件文にある#の意味
-
親ウィンドウの情報をインライ...
-
i++と++i ってどう違うのですか?
-
VBAでコマンドプロンプトの結果...
-
変数にオフセットが付いている...
-
verilog HDLの[=]と[<=]の使い分け
-
構造体からレコードセットへの代入
-
画像のプログラムに関して質問...
-
DataTableの値を変数に代入したい
-
ASP+SQLにてSessionがNullになる
-
C# String str ...
-
C言語 代入演算子の意味をおし...
-
数値計算??
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
C言語 列挙型(enum型)変数について
-
EXCEL/VBA 変数の値をクリップ...
-
整数xxxが大き過ぎますというエ...
-
テキストボックスの値を変数に...
-
[VBS]変数を定数に変換する方法...
-
Variant型で宣言してるのにEmpt...
-
jsp~jspにhiddenを使って変数...
-
processing エラーで、 "cannot...
-
python の 連鎖代入の文法
-
i++と++i ってどう違うのですか?
-
プログラミングで変数と関数の...
-
C言語 アロー演算子について質...
-
「%」を使って、偶数か奇数かを...
-
JavaScriptをURLから直接実行し...
-
VBA 1行で複数の代入を行った...
-
ExcelのVBAでをA列に第0〜19項...
-
コマンドプロンプト バッチ|結...
-
無名関数のメリットがよくわか...
おすすめ情報