Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


410 / 500 ページ ←次へ | 前へ→

【4993】レコードのロックについて
質問  こはる  - 05/5/10(火) 11:54 -

引用なし
パスワード
   複数の人が同じレコードを変更しようとした時、
2番目以降の人にそのレコードが現在編集中である
ことを知らせて、変更できないようにする方法
はあるのでしょうか?
また、この方法がない場合、どの様にすれば良いのか教えてください。
・ツリー全体表示

【4992】Re:リストボックスの選択解除の線(枠)
質問  羅刹  - 05/5/10(火) 9:14 -

引用なし
パスワード
   書き方が悪かったので再度詳しく書きます。
線(枠)が残ってしまう場合は、上から縦スクロールバーで下まで行って(一番上の行とかはこの時点で見えない)、そこで項目を選択し、全解除ボタンを押し、縦スクロールバーで一番上に戻ると何か線が残っているのです。
それを消す方法はあればと思いまして質問させて頂きました。


【ソース】
For Each idx In Me!LISTBOX_sentaku.ItemsSelected
Me!LISTBOX_sentaku.Selected(idx) = False
Next idx

Me!LISTBOX_sentaku.Requery
・ツリー全体表示

【4991】Re:リストボックスの選択解除の線(枠)
発言  羅刹  - 05/5/10(火) 9:04 -

引用なし
パスワード
   そうですね。質問に書いた方法で選択した所を全解除しています。
あぷるさんが言った方法どちらもだめです。
だめというか、うっすら線(枠)が残るので消せればなーと思って次第でして。。。

▼あぷる さん:
>どういった方法でリストを選択解除されているのか
>わかりませんけど
>
>Nullを代入してみてもダメですか?
>Refreshさせるとか
・ツリー全体表示

【4990】Re:リストボックスの選択解除の線(枠)
回答  あぷる  - 05/5/9(月) 23:27 -

引用なし
パスワード
   どういった方法でリストを選択解除されているのか
わかりませんけど

Nullを代入してみてもダメですか?
Refreshさせるとか
・ツリー全体表示

【4989】リストボックスの選択解除の線(枠)
質問  羅刹  - 05/5/9(月) 18:23 -

引用なし
パスワード
   久しぶりに質問させていただきます。
過去ログをみてリストボックス選択解除はできますが、
上手く線というか枠がきえてくれません。
Requeryを使えば綺麗に選択枠が消えるとおもったのですが。。
わかる方ご教授願います。

選択解除
For Each idx In Me!LISTBOX_sentaku.ItemsSelected
 Me!LISTBOX_sentaku.Selected(idx) = False
Next idx

Me!LISTBOX_sentaku.Requery


で解除してます。

プロパティの複数選択は標準です。

以上宜しくお願い致します。
・ツリー全体表示

【4988】Re:データ検索について
回答  あぷる  - 05/5/9(月) 17:26 -

引用なし
パスワード
   リストボックスのコントロールソースにテーブルAを指定し、
そのテーブルを元にクエリを作成
(プロパティウィンドウでコントロールソースの右 ・・・ をクリックする)

表示されたクエリビルダの画面で、
氏名 Where条件に Like "'*" & (ここがテキストボックスを指す) & "*'"
を指定すれば、コードを書かずに表示されると思います。
・ツリー全体表示

【4987】Re:連動するデータ表示
お礼  kao  - 05/5/9(月) 15:26 -

引用なし
パスワード
   ▼小僧 さん:
ありがとうございました。一箇所数値とテキストの違いがあり手間取りましたが、うまくいきました。アクセス初心者ですが、これからも宜しくお願いします。
・ツリー全体表示

【4986】Re:連動するデータ表示
回答  小僧  - 05/5/9(月) 13:21 -

引用なし
パスワード
   ▼kao さん:
こんにちは。

顧客IDコンボボックスと商品IDコンボボックスの値が
両方入った時に単価テキストボックスに値を代入しております。

Private Sub 顧客IDコンボボックス_AfterUpdate()
  If IsNull(Me.商品IDコンボボックス.Value) _
  Or IsNull(Me.顧客IDコンボボックス.Value) Then Exit Sub
  Call 単価抽出
End Sub

Private Sub 商品IDコンボボックス_AfterUpdate()
  If IsNull(Me.商品IDコンボボックス.Value) Or _
  IsNull(Me.顧客IDコンボボックス.Value) Then Exit Sub
  Call 単価抽出
End Sub

Sub 単価抽出()
Dim Tanka As Variant
  Tanka = DLookup("単価", "T_単価", _
         "顧客ID = " & Me.顧客IDコンボボックス.Value & " AND " _
        & "商品ID = " & Me.商品IDコンボボックス.Value)
  If IsNull(Tanka) Then
    Me.単価テキストボックス = "該当無し"
  Else
    Me.単価テキストボックス = Tanka
  End If
End Sub
・ツリー全体表示

【4985】連動するデータ表示
質問  kao  - 05/5/9(月) 12:10 -

引用なし
パスワード
   T単価(顧客ID、商品ID、単価)というテーブルがあり(顧客によって商品の単価が違う)、F売上フォーム上で顧客IDコンボボックスと商品IDコンボボックスで選んだ時に単価テキストボックスに単価を連動して出したいのですが、どうすればよいでしょうか。教えていただけないでしょうか。
・ツリー全体表示

【4984】Re:メインフォームと別フォーム
お礼  うさこ  - 05/5/6(金) 16:11 -

引用なし
パスワード
   ▼小僧 さん:

お答え、ありがとうございます!
質問の1番2番とも、教えていただいた通りにしたら、
ばっちりうまくできました!
本当にありがとうございましたm(_ _)m
またよろしくお願いします!
・ツリー全体表示

【4983】データ検索について
質問  oku  - 05/5/6(金) 15:17 -

引用なし
パスワード
   検索フォームで氏名を入力し、テーブルAからその人に関するデータ
を抽出して、フォームCにあるリストBOXに表示するにはどうすれば
良いでしょうか?環境はAccess2003です。
・ツリー全体表示

【4982】Re:メインフォームと別フォーム
回答  小僧  - 05/5/6(金) 10:23 -

引用なし
パスワード
   ▼うさこ さん:
おはようございます。

1.について
別フォームが開いた際にどういった方法でハイパーリンクが
表示されてるのかが解りませんが…。

仮にフォームの「詳細」上に「選択ラベルA」「選択ラベルB」
「選択ラベルC」の3つラベルを用意し、ラベルをクリックする事で
ハイパーリンクを起動させるとします。

各ラベルに対して
背景スタイル:透明
背景色:255(任意)

を設定して

Private Sub 詳細_MouseMove _
    (Button As Integer, S As Integer, X As Single, Y As Single)
  Me.選択ラベルA.BackStyle = 0
  Me.選択ラベルB.BackStyle = 0
  Me.選択ラベルC.BackStyle = 0
End Sub

Private Sub 選択ラベルA_MouseMove _
    (Button As Integer, Shift As Integer, X As Single, Y As Single)
  Me.選択ラベルA.BackStyle = 1
  Me.選択ラベルB.BackStyle = 0
  Me.選択ラベルC.BackStyle = 0
End Sub

Private Sub 選択ラベルB_MouseMove _
    (Button As Integer, Shift As Integer, X As Single, Y As Single)
  Me.選択ラベルA.BackStyle = 0
  Me.選択ラベルB.BackStyle = 1
  Me.選択ラベルC.BackStyle = 0
End Sub

Private Sub 選択ラベルC_MouseMove _
    (Button As Integer, Shift As Integer, X As Single, Y As Single)
  Me.選択ラベルA.BackStyle = 0
  Me.選択ラベルB.BackStyle = 0
  Me.選択ラベルC.BackStyle = 1
End Sub

のようにして、背景を「透明」⇒「普通」に切り替えることで
視覚上の変化をつけてみてはいかがでしょうか?

2.について
リストボックスをダブルクリックした際に、別フォームをダイアログで
開いてみてはいかがでしょうか?

DoCmd.OpenForm "別フォーム名", acNormal, , , , acDialog
・ツリー全体表示

【4981】メインフォームと別フォーム
質問  うさこ  - 05/5/5(木) 16:57 -

引用なし
パスワード
   よろしくお願いします。2つの質問があります。

1.メインフォームのリストボックスからあるデータをダブルクリックすると、
そのデータが持っている3つのハイパーリンクアドレスを別フォームで表示して、
ハイパーリンクアドレスを選択させるというプログラムをつくっています。
マウスでクリックする時に、マウスをそのアドレス上に持ってきたら(指マークが出る)、色を変えるとかできますか?。
(矢印キーでカーソルを動かす時は、条件付き書式設定でできました。)

2.別フォームを表示している時に、別フォームの方が小さいので、
後ろにあるメインフォームをクリックすると、別フォームが後ろに行ってしまいます。
それを避ける方法はありますか?

説明が不十分かもしれませんが、よろしくお願いします。
・ツリー全体表示

【4980】Re:レポートの集計結果の表示
回答  よて  - 05/5/4(水) 22:43 -

引用なし
パスワード
   ▼ひろ さん:
> 初心者です。いきずまったので誰か教えてください。
>集計結果を次のページのページヘッダーに表示したいと思うのですが
>できるでしょうか。

ページフッタに合計を入れるテキストボックスを作成し名前を小計とし、可視は、いいえとします。
ページヘッダーにも表示するためのテキストボックスを作成し名前を小計表示とし、可視は、はいとします。集計するフィールドを仮に金額とします。次に詳細部とページヘッダーとレポートページに次の様なイベントプロシージャを書いて下さい。

Private Sub ページヘッダー_Print(Cancel As Integer, PrintCount As Integer)
  [小計] = 0
End Sub

Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)
  [小計] = Nz([小計]) + Nz([金額])
End Sub
Private Sub Report_Page()
  Me.小計表示= [小計]
End Sub

これで大丈夫だと思います。
・ツリー全体表示

【4979】Re:レポート行表示について
回答  よて  - 05/5/4(水) 22:39 -

引用なし
パスワード
   ▼takataka さん:
>あるテーブルを元にレポート出力します。但しテーブルデータが1行しか無いにも関らず
>行が15行分表示したい。但し連番はついていません。
>何方かご返答お願い致します。


レポートのクラスモジュール画面に次の様なプロシージャを書いて下さい。

Private Sub Report_Page()
  Dim a, b, c As Integer
  c = 182
'レポートで指示する単位を指定します詳細はScaleModeにカーソルを合わせF1キーを押して下さい    
  Me.ScaleMode = 6
'1ページと2ページでライン位置を変更するため分けています
  If Me.Page = 1 Then
'ラインメソッドを使って線を引きます詳細はLineにカーソルを合わせF1キーを押して下さい
  Me.Line (0, 0)-(245, c), RGB(255, 0, 0), B
'線の太さを指定します
  Me.DrawWidth = 1
'縦のラインを引きます
  Me.Line (47, 15)-(47, c), RGB(0, 0, 0)
  Me.Line (75, 15)-(75, c)
  Me.Line (115, 15)-(115, c)
  Me.Line (210, 15)-(210, c), RGB(0, 255, 255)
'横のラインは等間隔なのでForNext関数を使って22ミリより5ミリ間隔で31本のラインをひきます
  For a = 0 To 31
    b = a * 5 + 22
          Me.Line (0, b)-(245, b), RGB(255, 0, 255)
  Next a
  Else
'2ページ以降の設定です
  Me.Line (0, 0)-(245, c), RGB(255, 0, 0), B
  Me.DrawWidth = 1
  Me.Line (47, 0)-(47, c), RGB(0, 0, 0)
  Me.Line (75, 0)-(75, c)
  Me.Line (115, 0)-(115, c)
  Me.Line (210, 0)-(210, c), RGB(0, 255, 255)
  For a = 0 To 34
    b = a * 5 + 7
          Me.Line (0, b)-(245, b), RGB(255, 0, 255)
  Next a
  End If
  End Sub


これでレポートに自由に線の色、太さを指定して線が引けます
参考までに円を描く時はCircleメソッドを使います。次のプロシージャで円と線を描きます。

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
  Me.ScaleMode = 7
  Me.DrawWidth = 1
Const conPI = 3.14159265359
  ' 円を描きます。
  Me.Circle (14.5, 10), 9
  Dim i, j, X1, X2, Y1, Y2, c As Integer
  For i = 0 To 23
    X1 = 14.5 + 9 * Cos(i * 15 * conPI / 180)
    Y1 = 10 - 9 * Sin(i * 15 * conPI / 180)
      For j = i + 1 To 23
         X2 = 14.5 + 9 * Cos(j * 15 * conPI / 180)
         Y2 = 10 - 9 * Sin(j * 15 * conPI / 180)
          c = c + 1: If c >= 15 Then c = 0
          Me.ForeColor = QBColor(c)
          Me.Line (X1, Y1)-(X2, Y2)
      Next j
  Next i
End Sub

一度試して見て下さい。
・ツリー全体表示

【4977】レポート行表示について
質問  takataka  - 05/5/2(月) 16:09 -

引用なし
パスワード
   あるテーブルを元にレポート出力します。但しテーブルデータが1行しか無いにも関らず
行が15行分表示したい。但し連番はついていません。
何方かご返答お願い致します。
・ツリー全体表示

【4976】Re:レポートについて
お礼  takataka  - 05/5/1(日) 11:51 -

引用なし
パスワード
   ご返信有難う御座います。 やってみます。
▼hatena さん:
>>レポートにサブレポートを複数枚貼付してあります。サブレポートの行数は増減しますが
>>サブレポートの切りの良い所でページ替えはできるのでしょうか?
>
>サブレポートにはページの概念がありません。
>あくまで、メインレポート上の1コントロールにすぎませんので。
>よってサブフォームで改ページを制御することはできません。
>
>基のデータで、切りの良い所でグループ分けできるように加工して、
>メインレポートとリンクしてサブフォームにフィルタリングする
>など、別の方法を考える必要があります。
・ツリー全体表示

【4975】Re:不正アドレスを高速に除去したい
回答  Gin_II  - 05/4/30(土) 19:20 -

引用なし
パスワード
   >1.@がないもの
>2.co.jp.ne.jpのドメインを含まないアドレス

InStr 関数で、特定文字列を含むかどうか、チェックすることができます。
・ツリー全体表示

【4974】不正アドレスを高速に除去したい
質問  masa E-MAIL  - 05/4/30(土) 2:30 -

引用なし
パスワード
   はじめまして。access,vb,秀丸マクロなどで
高速に不正アドレスを除去したいのですが可能でしょうか?
条件は
1.@がないもの
2.co.jp.ne.jpのドメインを含まないアドレス
例外として
co.j
ne.j
などは置き換えできるので除去は不要です。
市販のソフトで
「すきっとDM」や「アットコピア」なども使ってますが
件数が多いのでできればaccessで高速処理したいです。
以上詳しい方お願いします。
・ツリー全体表示

【4973】リンクファイルの削除
質問  benikaname  - 05/4/28(木) 10:16 -

引用なし
パスワード
   よろしく御願いします。
リンクしたTXTファイルを削除するのに、

'リンクテーブル"LT_XX"を削除する
  DoCmd.DeleteObject acTable, "LT_XX" 
'リンクされていたTXTファイル"C:\xxx.txt"を削除する
  Kill "C:\xxx.txt"

以上を実行すると
「エラー70 書込みできません」 と表示されます。

調べてみるとリンクテーブルは削除されていました。
IEからマニュアルでTXTファイルを削除しようとすると
「xxx.txtを削除できません。ほかの人またはプログラムによって使用されて
います・・・・・」と表示されます。

プログラムからTXTファイルを削除するための対処法をご教授下さい。
・ツリー全体表示

410 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084741
(SS)C-BOARD v3.8 is Free