VBでこんなことをしているのですが

(1)ボタンが押されたタイミングで ラベルの色を変える
(2)SQLを実行する(←これがかなりおもい 100万件のSELECT文)
(3)計算などの処理をして再びINSERT
(4)(1)で色をかえたラベルをまた色を変える

ここで問題なのですが(1)でラベルの色がかわってくれないのです
先に(2)が動いてしまっているみたいにみえてしまうのですが
コーディングには問題はないはずです 順番は正しいのです

こういった問題を回避するためにはどのようにしたらよいのか
おしえてください よろしくおねがいします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ボタンもしくは画面のリフレッシはしていますか?


XXXX.Refresh
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。
できました。困っていたのでたすかりました!

お礼日時:2001/10/18 13:24

お疲れ様です。



リフレッシュしてみてはどうでしょうか。

色や文字変更後に重い処理を実行すると変わらないことがあるので自分はリフレッシュで対応しています。

  '// ラベル色の変更
  Label1.BackColor = vbRed

  '// ラベル表示のリフレッシュ
  Label1.Refresh

  '//SQL実行

間違っていたらごめんなさい。
    • good
    • 0
この回答へのお礼

丁寧なご回答たすかりました。
ありがとうございました!

お礼日時:2001/10/18 13:25

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q動詞一覧・目的語一覧・補語一覧みたいな英語の詞・語ごとにずらーと並んだ

動詞一覧・目的語一覧・補語一覧みたいな英語の詞・語ごとにずらーと並んだサイトってないですか?

Aベストアンサー

動詞はともかく「目的語」とは「補語」というのは文における働きなので, そんな一覧を求めることがそもそも全く無意味.

Qレコードセットの値 SelectとINSERT,UPDATE,Deleteで異なる?

VB6でSQL Server2005をADOでアクセスしていますが、基本的なことですが、SELECT文の場合はrs.closeしてもエラーになりませんが、INSERT,UPDATE,DELETEの場合は、rs.closeとすると、
実行時エラー3704
オブジェクトが閉じている場合は、操作は許可されません。
というエラーメッセージが表示されます。

SQLは以下のように実行しています。
Call rs.Open(cobSQL.Text, cn, adLockOptimistic)

VB6でSQL SERVER2005(もしくは2000)でデータベースアプリを作成するのに参考になる良書などご存知でしたら教えてください。

また、VB6でADOは、ネイティブにSQL Server2005にアクセスできるのでしょうか?まだADOやデータベースの概念が良くわかっていないため、質問自体がおかしいかもしれませんが、VB6で高速にSQL SERVER 2005で処理させたいのが私の現時点での目標です。

Aベストアンサー

更新系(UPDATE、INSERT、DELETE等)のSQLでは、
レコードセットは使用してはいけません。

レコードセットを使用するのは、参照のみです。
更新系は、コネクションオブジェクトのExcuteメソッドを使用します。
つまり、レコードセットは、開く必要はなく、閉じる必要もありません。
(例)
Cn.Execute "insert into テーブル名 (XX1,XX2,XX3)values(ZZ2,ZZ2,ZZ3)

ちなみに、VB6とSQLサーバーの動作イメージとしては、
以下1、2を参考程度に。

1参照の場合(往復)
(1)VB6 → SQL文投げる  → SQLサーバー
(2)VB6 ← レコード取得  ← SQLサーバー

2更新系の場合(片道)
(1)VB6 → SQL文投げる → SQLサーバー(更新)

参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_s12.htm

Q新着順や新着順一覧を英語で書くと??

英語で新着順ってなんて書きますか?
HPに写真を載せていて
写真を新着順一覧に表示するスペースの名前を英語にすると、なんて書けばいいんでしょうか?
新着順や新着順一覧…という感じでお願いします。

Aベストアンサー

Sort by Date (日付順)というリンクが多いですね。

順番の切り替えに latest to earliest (最新から最古へ) とその逆を書いてある場合や、上向き三角▲と下向き三角▼のボタンを使っているところもあります。

到着というのをわざわざ盛り込んでいるところは少ないですが、長くても良いならば、Sort by Date arrived か Sort by Arrival Date とも書けます。

今回に写真という語も入れようとすると、Photos sorted by date (latest to earliest) のようになって見た目は冗長になってしまいます。

QSQLでSELECTの中でSELECT文を作りたいのですが。

開発環境 VB6 WINXP 
SQLで、次のそれぞれの文((1)、(2))は問題なく動作しますが、これを合体させて、絞り込むにはどうしたら良いのでしょうか。
(1) strSQLM = "SELECT * FROM 漁獲DATA WHERE 日付 =#" & Format(PickedDate, "m-d-yy") & "#"
(2) strSQLM = "SELECT * FROM 漁獲DATA WHERE 順位 =" & Meigara

つまり同一の日の同じ順位のデータを調べたいのですが。よろしくお願いします。

Aベストアンサー

>上の文だと、抽出条件でデータ型が一致しません。となってしまいました。どうすれば良いのでしょうか。Meigaraは数値です。

Meigaraは数値でしたか。自分は「○位」という感じの文字列だと思っていました。その場合は「順位 =」のあとにある「'」と一番最後にある「Meigara」から後ろを消せば良いです。消した場合のSQL文は下記になります。

strSQLM = "SELECT * FROM 漁獲DATA WHERE 日付 ='" & Format(PickedDate, "m-d-yy") & "' AND 順位 =" & Meigara

これで大丈夫なはずですよ。

QWindows7でプログラム一覧が英語表示される

Windows7でプログラム一覧が英語表示される

Windows7 Professionalを使っています。
最近気がついたのですが
普通ならプログラム一覧で
「アクセサリ」と表示されるはずの部分が
英語で「Accessories」と表示されるようになっていました。
メニュー自体もすべて英語で
たとえば「電卓」なら「Calculator」といった具合です。

ちなみに「ゲーム」は「Games」
「既定のプログラム」は「Default Programs」となっていますが
「スタートアップ」はそのままです。

ソフト自体に不具合はないのですが
何となく気になります。
かといって
名前を一つ一つ変更するのも面倒です。
簡単に元へ戻す方法がお分かりでしたら
よろしくお願いいたします。

Aベストアンサー

詳しくは分かりませんが、C:\Users\○○\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\AccessoriesにあるはずのDesktop.iniをうまく設定すればよいと思います。ちなみに○○はユーザー名です。

Qラベルの大きさを変えるには

VB初心者です。
VB2005express editionを使っています。

電卓を作ろうと思い表示画面にラベルを使おうとしたのですが、
ラベルの大きさが画面上でドラッグしてもプロパティのサイズの値を入力しても変えることができません。
テキストボックスも同じようになります。
ボタンは任意の大きさにできます。

これは何が悪いのでしょうか?
ラベルは任意の大きさにできないのでしょうか?

Aベストアンサー

AutoSizeプロパティをFalseにすればいいですよ。

Qヘンな日本語英語の一覧があるサイト

ヘンな日本語英語の一覧があるサイトなんてご存知ありませんか?
ピアース、ピーマン、ビデオデッキ、シャーペンなど、実際には使われない英語がたくさん日本で使われていたりしますが、こういうリストが載っているサイトを探しています。

ご存知の方いらっしゃいましたら教えて下さいっ!
よろしくお願いしまっす!

Aベストアンサー

洋サイトですが

参考URL:http://www.engrish.com/

QVB6でラベルの文字列に色を付けたい

VB6でラベルの文字列に色を付けたいのですが、
どうすればよいのでしょうか?
Label1 = "abcde"
とかだったら、bcだけ赤字にするとかできますでしょうか?

Aベストアンサー

一部だけ色(フォント、サイズなど)を変えることは出来ません。

Q色の名前は、日本語と英語のどちらを多く使う?・・・例えば「緑」と「グリーン」

「緑」と「グリーン」、「灰色」と「グレー」・・・

色の名前を言う時、日本語と英語のどちらを多く使いますか?

例えば、
・服の色は?
・車の色は?
・携帯機器(電話・プレイヤーなど)の色は?
どちらの表現を多く使いますか?

又、その他
「このもの(種類)は、日本語(英語)で言う」
「この色は、日本語(英語)で言う」
「殆ど、日本語(英語)で言う」
といったご回答も、歓迎します!

Aベストアンサー

じゃあいきましょか。英語です。私ら。

ピンク、ローズピンク、チェリーレッド、マローピンク、チリアンパープル、コスモス、チェリーピンク、ベビーピンク、ラムプラーローズ、ラズベリー、ローズマダー、カーマイン、パーシアンローズ、プラム、ガーネット、ピアニーレッド、プリムラ、コーラル、サルビア、マゼンダ、バーミリオン、シグナルレッド、ホビーレッド、ロブスター、ケチャップ、ファイヤー、スカーレット、バーミリオンレッド、ルビー、オペラ、ブリック。ベルベット。
以上赤系統。
日本にも古来のゆかしき呼び方はありますが、この点に関しましては英語に軍配をあげます。

グレーといいましても、シルバーホワイトグレー、パールグレー、オレンジグレー、イエローグレー、ブルーグレー、ピンクグレー、フレンチグレー、ミディアムグレー、グレー、ダークグレー、カーボングレー、チャーコールグレー、…あぁしんど。
私は日本男児ですが色名は英語です。

Qラベルの文字色変更

VBでラベルの文字色を透明から黒に徐々にしたいと思ってるんですけど。

For文で作ってみたものの・・・
エラーがでて困っています。
作ってみたFor文を以下に書きます。

For i = 255 To 0 Step -2
Label1.ForeColor = RGB(i, i, i)
Next

この文の中の RGB(i,i,i) というところがエラーでます。。

どうしたら徐々に色を変化させれるのか教えてください!

Aベストアンサー

デバッグ作業の際には、Forの内部で。。。等々の、不要な(正常に動作している)個所をそぎ落としていって、最終的にエラー発生の最終的なポイントを特定する事が肝要です。

たとえば、ループの内外関係なく以下の一文だけでも同様のエラーが発生します。
Label1.ForeColor = RGB(0, 0, 0)

そこで、RGB関数をヘルプで引くと、Integerを返す関数です。

そのうえで、エラーメッセージと突合せると、ForeColorはsystem.drawing.color型なので、Integer型を設定できないという意味だと読み取れます。
※「値をsystem.drawing.colorに変換できません」=自動変換できない型の値を代入しようとしています、程度に意訳できます。

それではRGB関数同様に色を指定して、system.drawing.color型の値を作成するにはと言うと
system.drawing.colorをヘルプで引くと、FromArgbというメソッドが見つかります。

という事で、以下のように書きなおせばOK
Label1.ForeColor = RGB(i, i, i)

Label1.ForeColor = Color.FromArgb(i, i, i)

デバッグに必要な切り分け方、ヘルプの情報の当たりの付け方を書いてみました。

ちなみに、#2で書いたように意味のあるコードにする為にはというのを、VB2010で書くと以下の通り

Dim i As Integer
Dim j As Integer

For i = 255 To 0 Step -2
Label1.ForeColor = Color.FromArgb(i, i, i)
'フォームを再描画してラベルの色変えを画面上に反映させる
Me.Refresh()

'徐々に色が変わっていく様子を見せる為に、待機処理をする
'待機時間はループ回数で調整する
For j = 0 To 1000
Application.DoEvents()
Next
Next

デバッグ作業の際には、Forの内部で。。。等々の、不要な(正常に動作している)個所をそぎ落としていって、最終的にエラー発生の最終的なポイントを特定する事が肝要です。

たとえば、ループの内外関係なく以下の一文だけでも同様のエラーが発生します。
Label1.ForeColor = RGB(0, 0, 0)

そこで、RGB関数をヘルプで引くと、Integerを返す関数です。

そのうえで、エラーメッセージと突合せると、ForeColorはsystem.drawing.color型なので、Integer型を設定できないという意味だと読み取れます。
※「値をsystem.d...続きを読む


人気Q&Aランキング

おすすめ情報