下のような構造体があり、その値をレコードセットに代入したいと思います。
構造体内の変数名とレコードセットのフィールド名が同じなので名前を
利用して簡潔に書けないかと思うのですが、これは可能でしょうか?
'構造体
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...
-
processing エラーで、 "cannot...
-
jsp~jspにhiddenを使って変数...
-
EXCEL/VBA 変数の値をクリップ...
-
[VBS]変数を定数に変換する方法...
-
Variant型で宣言してるのにEmpt...
-
int→unsigned int キャスト
-
python の 連鎖代入の文法
-
JAVAのユーザー定義関数
-
datagridviewに行...
-
VB2008でデリゲートの代わりに...
-
stdpicture型の変数に、、
-
プログラミング【代入演算子】
-
Pythonで辞書内のValueをfor k,...
-
親ウィンドウの情報をインライ...
-
だれがとけるの?
-
レジストリの値獲得について
-
VB.net
-
C言語 列挙型(enum型)変数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラーの意味は? Lvalue req...
-
VBAでダブルコーテーション入り...
-
EXCEL/VBA 変数の値をクリップ...
-
だれがとけるの?
-
C言語 列挙型(enum型)変数について
-
[VBS]変数を定数に変換する方法...
-
jsp~jspにhiddenを使って変数...
-
Variant型で宣言してるのにEmpt...
-
processing エラーで、 "cannot...
-
テキストボックスの値を変数に...
-
整数xxxが大き過ぎますというエ...
-
C言語 アロー演算子について質...
-
i++と++i ってどう違うのですか?
-
数値計算??
-
python の 連鎖代入の文法
-
インクリメント演算子の前置(+...
-
「%」を使って、偶数か奇数かを...
-
【VBA】複合代入演算子
-
VBA 1行で複数の代入を行った...
-
datagridviewに行...
おすすめ情報