Access VBA質問箱 IV

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

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


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

【5074】リストのデータの移動
質問  Y.K  - 05/5/20(金) 20:56 -

引用なし
パスワード
   Form1にテキストボックス1,2,3があり(1がWBC、2がTP、3がTG)
Form2にリストボックスAがあり(複数選択の設定、クエリからデータを引っ張っている)
Form2のリストボックスの検査名がWBCの時の検査数値のデータ
               がTPの時の検査数値のデータ
               がTGの時の検査数値のデータ
を複数選択しコマンドボタンでクリックした時にそのデータが一回でForm1のそれぞれのテキストボックスに移動する方法を教えて下さい。
・ツリー全体表示

【5073】テキストboxの初期化(クリア)って・・・...
質問  初心者  - 05/5/20(金) 20:23 -

引用なし
パスワード
   フォームに沢山txtboxがあります。
消去ボタンを押した時に全てのテキストボックスの内容をクリアするには
どうしたら良いのでしょうか?
テキストボクッスは、
txt1〜txt34まであります。

Dim i as Integer

 For i = 1 to 34
  Me.txt& i & = Null
 Next

End Sub
↑のコードだと宣言の型と違うと怒られます。助けてください。
・ツリー全体表示

【5072】Re:レコードの保存について
お礼  初心者  - 05/5/20(金) 19:31 -

引用なし
パスワード
   完璧です。
ありがとうございました。
・ツリー全体表示

【5071】Re:リストボックスの選択解除
質問  うさこ  - 05/5/20(金) 18:54 -

引用なし
パスワード
   ▼クロ さん:
お答えありがとうございます。

>Me.リストボックス名.Requery
>
>※リストボックスの「複数選択」プロパティが「標準」以外の時有効

  Me.プランリスト.RowSource = "クエリ01"
  Me.プランリスト.Requery

というふうにRequery をしてもダメなんです〜。
・ツリー全体表示

【5070】Re:リストボックスの選択解除
回答  クロ  - 05/5/20(金) 17:58 -

引用なし
パスワード
   Me.リストボックス名.Requery

※リストボックスの「複数選択」プロパティが「標準」以外の時有効
・ツリー全体表示

【5069】リストボックスの選択解除
質問  うさこ  - 05/5/20(金) 17:23 -

引用なし
パスワード
   こんにちは(^_^)

初級の質問ですみません。
リストボックスから選択したあとに
「クリア」コマンドボタンを押すと、色の線を消す方法がわかりません。
Requery を使っても消えません。複数選択ではありません。
ヘルプを見てもわかりませんでしたので、どなたか教えてください。
よろしくおねがいします。
・ツリー全体表示

【5068】Re:職番でリレーションシップを組むのは?
回答  サチチ  - 05/5/20(金) 15:47 -

引用なし
パスワード
   ▼小僧 さん:
とても、分りやすいご説明ありがとうございます。

早速、やってみます。しかし、この段階で頭が???状態になり、
整理をしないとなので、再度、ご質問するのに、時間がかかる
可能性大です。が、その際は、またご協力願います。
・ツリー全体表示

【5067】Re:職番でリレーションシップを組むのは?
回答  小僧  - 05/5/20(金) 15:37 -

引用なし
パスワード
   ▼サチチ さん:
>どうも、この主キーと、結び方にかなり苦手意識があります。
自分も苦手な分野です(笑)

主キーはそのテーブルのユニーク(他と識別できるもの)に振ります。

T_被災者情報を例にとってみると、先に
>(同姓同名の場合は考慮に入れておりませんが…)

と書きましたが、同姓同名がいない限り主キーとして扱って大丈夫です。
>>(松井秀喜 ならば ヤンキース みたいな感じかな)

ところがたとえば部署を主キーとしようとすると、特定の誰かを認識できなく
なってしまします。
>>(ヤンキース ならば 松井秀喜 ではないですよね?)

テーブルにそのような値がない場合は、連番(オートナンバー型)を使っても
設定した方が良いと思います。

他のテーブルでもユニークになりえるフィールドを主キーにして下さい。

さて、リレーションですが…。
元々は T_事故情報 ひとつだけで管理できたものを、要素毎に各テーブルに
振り分けていったと考えると、解りやすいかもしれませんね。

 T_事故情報 対 T_発生工程
 T_事故情報 対 T_物的要素
 T_事故情報 対 T_人的要素
 T_事故情報 対 T_管理的要員
 T_事故情報 対 T_耐久対策

と結ぶといいと思います。
・ツリー全体表示

【5066】Re:職番でリレーションシップを組むのは?
質問  サチチ  - 05/5/20(金) 14:48 -

引用なし
パスワード
   なるほど・・・。

結び方ですが、T_事故情報の事故IDと、T_発生工程の事故ID
とを結びますよね。

では、T_物的要素の事故IDとT_人的要素は事故Iなどは、どこに結ぶの
ですか?T_事故情報の事故IDでいいのですか?それとも、T_発生工程の事故ID
ですか?ちなみに、主キーは何にすればいいのでしょう?

どうも、この主キーと、結び方にかなり苦手意識があります。
再度、お願いします。
・ツリー全体表示

【5065】Re:職番でリレーションシップを組むのは?
回答  小僧  - 05/5/20(金) 14:34 -

引用なし
パスワード
   ▼サチチ さん:
こんにちは。
自分もあまり得意ではないのですが、
テーブルの正規化を行うとすっきりするかもしれません。

例えば…
Aさんが事故にあいました。

→ 発生日時・曜日・氏名・部署…

不幸にもまた事故にあいました。となった場合、

「部署」「職番」「血液」「性別」「勤続年月日」は先ほどとまったく同じものを
入れることになりますよね?

このへんの絡みを整理すると

T_事故情報
…発生日時・被災者名・被災者負傷箇所

T_被災者情報
…氏名・部署・職番・血液・性別・勤続年月日

として、「T_事故情報」の「被災者名」と「T_被災者情報」の「氏名」を
リレーションすればよい事になりますよね?
(同姓同名の場合は考慮に入れておりませんが…)

ちなみに「曜日」は「発生日時」から求める事ができますので、
フィールドを設ける必要はありません。

こんな感じで正規化をすすめていくと…

T_事故情報
…事故ID・発生日時・被災者名・被災者負傷箇所・作業名

T_被災者情報
…氏名・部署・職番・血液・性別・勤続年月日

T_発生工程
…事故ID・機種・機会NO・作業形態・…

T_物的要素
…事故ID・起因・欠陥…

T_人的要素
…事故ID・動かした状況…

T_管理的要員
…事故ID・安全ポイント・…

T_耐久対策
…事故ID・分類・…

という感じでしょうか?
・ツリー全体表示

【5064】上記、質問です。
質問  サチチ  - 05/5/20(金) 14:27 -

引用なし
パスワード
   間違えて、答にしてしまいました。
よろしくお願いします。
・ツリー全体表示

【5063】Re:職番でリレーションシップを組むのは?
回答  サチチ  - 05/5/20(金) 13:59 -

引用なし
パスワード
   目にとめていただき、ありがとうございます!
細かく記載します。

T_被災者情報
 ・・・発生日時・曜日・氏名・部署・職番・血液・性別・勤続年月日・負傷箇所 他
T_発生工程
 ・・・作業名・機種・機械NO・作業形態・災害名・災害経過 他
T_物的要素
 ・・・起因・欠陥・確認・服装 他
T_人的要素
 ・・・作業名・動作した状況・本人判断・本人行動・決め事・その他 他
T_管理的要員
 ・・・安全ポイント・監督状況・適正配置・点検・確認・報告 他
T_耐久対策
 ・・・分類・項目・内容・日程・担当・確認・備考 他

他にも、繋ぎたいテーブルはあるのですが・・・。
コンボボックスと、メモ型と、テキストで作ってますが、変えてもOKです。
コンボボックスは、きちんと出る様に繋いでます。

これに、強引に職番をおのおのに入れてみたり、NOをいれてみたりしたのですが、
やはりうまくいかないので、初心者ですが、どうかご教授下さい。
お願いします。助けて下さ〜い。
・ツリー全体表示

【5062】Re:職番でリレーションシップを組むのは?
発言  小僧  - 05/5/20(金) 13:31 -

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

フィールド情報が少ないためか、5つのテーブルの関連性が
当方にはいまいちピンときません。

差し支えない範囲で他のテーブルのフィールド構成と、
どのようなデータが入るのかをご提示して頂けると
回答がつき易くなるかと思われます。
・ツリー全体表示

【5061】Re:レコードの保存について
回答  小僧  - 05/5/20(金) 13:06 -

引用なし
パスワード
   ▼小太郎 さん:
テーブルと連結されていないフォームから値を代入したい時には、
一度テーブルを開く開く処理が必要となります。

>関連がありません。

と言う事は新規レコードですよね…。
フォーム上の「登録」ボタンをクリックすると値が代入される例です。

Private Sub 登録_Click()
  '要 参照設定「Microsoft DAO x.x Object Library」

  Dim RS As DAO.Recordset
  Set RS = CurrentDb.OpenRecordset("テーブルA", dbOpenDynaset)
    RS.AddNew
    RS![aaa] = Me.テキストA
    RS.Update
  RS.Close
  
  'Set RS = CurrentDb.OpenRecordset("テーブルB", dbOpenDynaset)
  '
  '  テーブルAと同じ処理をテーブルBとテーブルCにも行う
  '  
  'RS.Close
  Set RS = Nothing
End Sub

SQLを使うとこんな感じでしょうか?

Private Sub 登録_Click()
  DoCmd.RunSQL "INSERT INTO テーブルA(aaa) VALUES ('" & Me.テキストA & "')"
  DoCmd.RunSQL "INSERT INTO テーブルB(bbb) VALUES ('" & Me.テキストB & "')"
  DoCmd.RunSQL "INSERT INTO テーブルC(ccc) VALUES ('" & Me.テキストC & "')"
End Sub
・ツリー全体表示

【5060】職番でリレーションシップを組むのは?
質問  サチチ  - 05/5/20(金) 11:44 -

引用なし
パスワード
   災害調査報告書という物は作成しています。

テーブルで、
T_被害者情報
T_物的要素環境
T_人的要素
T_管理的要素
T_耐久対策・・・と作成してます。

全て1人のものなのですが、つながりをもつために
職番で繋ごうかと思っています。
ただ、T_被害者とT_物的要素環境など、内容につながりができません。
T_被害者には、事業種・天候・血液型・・・など
T_物的要素環境には、起因原因・環境原因・・など です。

全てに、職番-職番-職番-職番とすると、データを入力する際に
エラーが出てしまいます。
うまく繋ぐには、どの様にすればいいのでしょうか?
・ツリー全体表示

【5059】Re:コンボボックスの値を検索条件にしたい...
回答  クロ  - 05/5/20(金) 11:27 -

引用なし
パスワード
   Dim strSQL As String
'検索項目が空だったら…
If Len(Nz(Me.検索項目, "")) = 0 Then
    MsgBox "検索項目を正しく入力してください。", _
    vbOKOnly + vbCritical, ""
    Me.検索項目.SetFocus '←検索項目コンボではない
    Exit Sub
'検索コードが空だったら…
ElseIf Len(Nz(Me.検索コード, "")) = 0 Then
    MsgBox "検索コードを正しく入力してください。", _
    vbOKOnly + vbCritical, ""
    Me.検索コード.SetFocus
    Exit Sub
'検索項目、検索コードが何れも空でなかったら…
Else
  strSQL = "SELECT * FROM 請負費工事 WHERE"
 
  Select Case Me.検索項目
    Case "コード1"
      strSQL = strSQL & " コード1='"
    Case "コード2"
      strSQL = strSQL & " コード2='"
    Case "受渡番号1"
      strSQL = strSQL & " 受渡番号1='"
    Case "受渡番号2"
      strSQL = strSQL & " 受渡番号2='"
    Case Else
      MsgBox "検索項目に不備があります。", _
      vbOKOnly + vbCritical, ""
      Me.検索項目.SetFocus
      Me.備考 = Me.検索項目
  End Select
  strSQL = strSQL & Me.検索コード & "';"
End If
  Debug.Print strSQL

でどうでしょうか?
・ツリー全体表示

【5058】Re:コンボボックスの値を検索条件にしたい...
回答  orange  - 05/5/20(金) 10:23 -

引用なし
パスワード
   クロさん、小僧さん早速のレスありがとうございます

まず、検索項目は現在、コンボボックスですが「検索項目」という名前で統一しており、
全て、テキスト型です。

小僧さんのレスについて
>  If IsNull(Me.検索項目) = False And Len(Me.検索項目) <> 0 Then
>  If IsNull(Me.検索コード) = False And Len(Me.検索コード) <> 0 Then
この部分、間違っていました。すみません。
正しくは
  If IsNull(Me.検索項目) = True Or Len(Me.検索項目) = 0 Then
  If IsNull(Me.検索コード) = True Or Len(Me.検索コード) = 0 Then

ですね。
今のところ、Me.検索項目とMe.検索コード値が検出されないのでEXIT Subになってしまいました。
この条件をはずし、strSQLの内容を確認しても
Me.検索項目とMe.検索コード値が検出されないので

"SELECT * FROM 請負費工事 WHERE';"
となっている状況です。

アドバイスよろしくお願い致します。
・ツリー全体表示

【5057】Re:レコードの保存について
質問  小太郎 E-MAIL  - 05/5/20(金) 10:12 -

引用なし
パスワード
   >関連が全く無いようでしたら一つ一つのテーブルに対して
>値を入れていかなければならないと思います。 
関連がありません。
その場合は、
[A]![aaa]=txt1
[B]![aaa]=txt2
[C]![aaa]=txt3
という書き方で良いのでしょうか?
・ツリー全体表示

【5056】Re:レコードの保存について
回答  小僧  - 05/5/20(金) 10:06 -

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

テーブルA、テーブルB、テーブルCに関連付けはありますでしょうか?
例えば…
T_社員番号
社員ID 名前
 1   松井
 2   鈴木
 3   石井

T_部署
社員ID 部署名
 1   ヤンキース
 2   マリナーズ
 3   ドジャース

T_旧部署
社員ID 旧部署名
 1   ジャイアンツ
 2   ブルーウェーブ
 3   スワローズ

(こんな変なテーブル例ですみません)

関連性があるのであれば、連結フォームのレコードソースに
この3つのテーブルを関連づけさせたクエリを指定する事で
テーブルに値を代入できます。

関連が全く無いようでしたら一つ一つのテーブルに対して
値を入れていかなければならないと思います。 
・ツリー全体表示

【5055】Re:コマンドボタンにハイパーリンクアドレ...
お礼  うさこ  - 05/5/20(金) 10:05 -

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

おはようございます。


>前後に、余計なものがつくのなら、それを除いてやればいいのでは?
>
>Me!ジャンプ.HyperlinkAddress = Mid(Me!アドレス, 2, Len(Me!アドレス) - 1)
>のように。


どうしてついちゃうのかわからなかったので、つかないように悩んでいたのですが、
「ついたら取り除く」とすればいいのですねー。
本当にありがとうございましたm(_ _)m。
またよろしくおねがいします!
・ツリー全体表示

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