VB初心者です。
3レコードからなる90バイトのバイナリーファイルの
最後のレコードだけを上書きしたいのですが、うまく
いきません。どう書けば良いのでしょうか?
宜しくお願い致します。
'------------------------------------------------
Public Type REC_INFORMATION
AA As Long
BB As Single
CC As Single
DD As Single
EE As Single
FF As Single
GG As Single
HH As Integer
End Type
Public RecInfo As REC_INFORMATION
'-------------------------------------------------------------
Dim ByteCNT as Long
RecInfo.AA = CLng("123")
RecInfo.BB = CSng("123")
RecInfo.CC = CSng("123")
RecInfo.DD = CSng("123")
RecInfo.EE = CSng("123")
RecInfo.FF = CSng("123")
RecInfo.GG = CSng("1")
RecInfo.HH = CInt("1")
Open "c:\TEST.bin" For Binary As #1
ByteCNT = LOF(1)
Seek #1, (ByteCNT - 29)
Put #1, , RecInfo
Close #1
No.3
- 回答日時:
#1です。
GETしているのであればシーク位置が移動するため再度SEEKする必要があると思います。
しかし、#2さんの言われるようにRandomでレコード単位でされたほうがいいですよ!
No.1
- 回答日時:
出来るような気がするのですが・・・
どのように出来ないのか、補足願います。
この回答への補足
失礼致しました。補足致します。
一度以前のファイルの最後のレコードのRecInfo.AAを取得し、
今回取得した123と同一であれば上書き,違うのもであればファイルの最後に新しく今回のレコードと追加するという仕様です。
そのコーディングの途中段階であり、"GET"している部分が抜けていました。この先がうまくできないので困っています。
宜しくご指導願います。
'--------------------------------
Open "c:\TEST.bin" For Binary As #1
ByteCNT = LOF(1)
Seek #1, (ByteCNT - 29)
Get #1, , RecInfo.AA '補足部分
Put #1, , RecInfo
Close #1
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- 英語 We examined the rungs of every chair in the hotel, 1 2022/10/02 11:27
- Excel(エクセル) バイナリー演算を勉強したい 1 2023/04/19 14:17
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGridViewの内容をDBに反映...
-
[VBA] ADOの Clone と AddNew
-
ADO VBA 実行時エラー3021
-
JSPのNULLレコード表示について...
-
レコードを流したときに出るよ...
-
Access でレコードセレクタが押...
-
レコードが存在しなかった場合
-
データベースの内容を変数に入...
-
[VB6]プログレスバーコントロー...
-
ワードの差込印刷で教えて下さ...
-
DataGridViewの、選択されてい...
-
レコードセット(ADO.Recordset)...
-
カレントレコードが無い事を判...
-
サブフォームに新規レコードを...
-
COBOLでのランダムアクセス
-
データセットのレコード更新が...
-
Accessで別テーブルの値をフォ...
-
エクスプローラーで「2つの条件...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードが存在しなかった場合
-
ADO VBA 実行時エラー3021
-
ファイル書込みで一行もしくは...
-
アクセスでレポートの1印刷内...
-
カレントレコードが無い事を判...
-
差し込み印刷のレコード数について
-
レコードセット(ADO.Recordset)...
-
ワードの差込印刷で教えて下さ...
-
DataGridViewの内容をDBに反映...
-
Access でレコードセレクタが押...
-
DataGridViewの、選択されてい...
-
JSPのNULLレコード表示について...
-
ACCESSで大量の更新を行うと「...
-
[VBA] ADOの Clone と AddNew
-
Access を×ボタンで閉じ...
-
サブレンジ分割されたNDB(富士...
-
ヘッダレコードとトレーラレコ...
-
データセットのレコード更新が...
-
DataGridViewにてセル以外をク...
-
Line Inputで文字化け(助けて...
おすすめ情報