
VBAで以下のコードを使い、「T_MAS」テーブルから「IDNO」, 「STATUS」, 「DATE」のフィールドをエクセルシートに取り込んでいます。
これは私の前任者が作成したもので、それに私が「DATE」のフィールドも追加するために作っている作りかけです。
Public Sub DB読込()
Dim i%, SQL$, vRow%
Dim vL&, vS$
SQL = "SELECT IDNO, STATUS, DATE"
SQL = SQL & " FROM T_MAS"
Call DbOpen
With Sheet2
vRow = 2
.Range(.Cells(vRow, 4), .Cells(vRow + 15000, 5)).ClearContents
.Range(.Cells(vRow, 4), .Cells(vRow + 15000, 5)).ClearContents
Set Rs.ActiveConnection = Conn
Rs.Open SQL, Conn
For i = 1 To 2 Step 0
If Rs.EOF Then Exit For
vL = IIf(IsNull(Rs![IDNO].Value), 0, Rs![IDNO].Value)
.Cells(vRow, 4) = vL
vS = IIf(IsNull(Rs![Status].Value), 0, Rs![Status].Value)
.Cells(vRow, 5) = vS
vT = IIf(IsNull(Rs![DATE].Value), "", Rs![DATE].Value)
.Cells(vRow, 6) = vT
Rs.MoveNext
vRow = vRow + 1
If vRow > 100 Then Exit For
Next i
Rs.Close
Set Rs = Nothing
End With
Call DbClose
End Sub
「IDNO」は6桁の数字です。
「STATUS」は1~9の数字です。
「DATE」は2023/02/21といった日付です。
DbOpenとDbCloseは別コードを使用しています。
①これらに2つ条件を付けたいのです。
「DATE」は2021年から2023年までの間
「STATUS」は数字の3に絞ったものを読み込みたいです。
2データ量は数万になりますがそのまま読み込むとオーバーフローになります。
If vRow > 100 Then Exit For を挿入していますが、実際は全てのデータが必要です。
このオーバーフローを出さない対策もしたいです。
お詳しい方教えてください、宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
2の方は、
vRow%
↓
vRow&
変数の宣言の型を変更する。
https://pulogu.net/blog/020-computer/excel-vba/e …
ところで
.Range(.Cells(vRow, 4), .Cells(vRow + 15000, 5)).ClearContents
.Range(.Cells(vRow, 4), .Cells(vRow + 15000, 5)).ClearContents
何故同じ物が?
もしかして
.Range(.Cells(vRow, 4), .Cells(vRow + 15000, 6)).ClearContents
3列に対して行ないたいならセルを左上,右下で指定すれば1行で済みます。
ただし連続している場合ですけど。
ありがとうございます!
2の部分が解決できました、他の部分も自力で何とか形になりました。
ちなみに同じものはコピペミスです、、すいません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataTableに特定のフィールドが...
-
NULLを含む文字列の結合で...
-
Accessのフィールド名に半角括...
-
INT64対応のprintf系関数はあり...
-
AccessVBAで他テーブルのデータ...
-
アクセス ADO Null以外のレコ...
-
AS/400の論理ファイルで年度だ...
-
FTPサーバーから受信したファイ...
-
AccessのDAOでフィールド名を配...
-
2次元のdictionary
-
accessでフィールド追加のあと...
-
AccessからExcelへエクスポート...
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
★クリスタルレポートの元になる...
-
一番右のスペース以降の文字列...
-
pictureboxの名前を変数で設定...
-
VB6からの移行したいけど、VB.N...
-
EXCELのVBAでLenB関数について
-
手動または分散トランザクショ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INT64対応のprintf系関数はあり...
-
accessでフィールド追加のあと...
-
Accessのフィールド名に半角括...
-
2つ目のレコードの値を取得す...
-
クリスタルレポートで文字列の...
-
クリスタルレポート(8.5)の書式...
-
DataTableに特定のフィールドが...
-
日付と文字列を条件としてDLook...
-
Access 2010で実行時エラー3061
-
AccessのDAOでフィールド名を配...
-
ADOでNullフィールドの抽出
-
NULLを含む文字列の結合で...
-
Access VBA 添付型フィールド
-
クリスタルレポートの式フィー...
-
ACCESSで視覚的タイムテーブル...
-
ACCESSデータベースにV...
-
criteria の読み方
-
テーブルのデータ型の変更がで...
-
Access クエリで変数を参照する...
-
ACCESSで日別集計をする場合
おすすめ情報