Access VBA質問箱 IV

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

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


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

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

引用なし
パスワード
   初心者です。
入力フォームにあるテキストbox(txt1、txt2、txt3)のデータをそれぞれ別のテーブルのフィールドに保存する場合、どうしたら良いのでしょうか?
txt1⇒テーブルAのフィールドaaa
txt2⇒テーブルBのフィールドbbb
txt3⇒テーブルCのフィールドccc
という感じです。
よろしくお願いします。
・ツリー全体表示

【5053】Re:コマンドボタンにハイパーリンクアドレ...
回答  Gin_II  - 05/5/20(金) 1:10 -

引用なし
パスワード
   >  #http://〜  #
>のように # が前後にくっついてしまって、
>「ハイパーリンクを認識出来ません」とエラーになってしまいます。

前後に、余計なものがつくのなら、それを除いてやればいいのでは?

Me!ジャンプ.HyperlinkAddress = Mid(Me!アドレス, 2, Len(Me!アドレス) - 1)
のように。
・ツリー全体表示

【5052】Re:フォーム作成の際に・・・。
回答  Gin_II  - 05/5/20(金) 1:08 -

引用なし
パスワード
   >後から他のテーブルも追加したい時にはどうしたらよいのでしょうか?

フォームのレコードソースとして、複数のテーブルを使うことはできません。
サブフォームを使ってやるか、クエリを作成し、それをレコードソースとするか。
ですね。
・ツリー全体表示

【5051】コマンドボタンにハイパーリンクアドレス...
質問  うさこ  - 05/5/19(木) 17:43 -

引用なし
パスワード
   いつもお世話になってます。

テーブルと連結しているテキストボックス(名前=アドレス)の
ハイパーリンクアドレスをコマンドボタン(名前=ジャンプ)に設定したいのですが、

Private Sub ジャンプ_Click()

If Me!アドレス <> "" Then
  Me!ジャンプ.HyperlinkAddress = Me!アドレス
End If

End Sub

上のようにすると、

  #http://〜  #
のように # が前後にくっついてしまって、
「ハイパーリンクを認識出来ません」とエラーになってしまいます。
どこが悪いかわかりません。
教えてください。よろしくお願いします。
・ツリー全体表示

【5050】フォーム作成の際に・・・。
質問  初心者  - 05/5/19(木) 17:18 -

引用なし
パスワード
   フォーム作成の際に、ウィザードを使用すると、基になるテーブル等を選択しますが、後から他のテーブルも追加したい時にはどうしたらよいのでしょうか?
VBAと関係ない質問で恐縮です。回答おねがいします。
・ツリー全体表示

【5049】Re:コンボボックスの値を検索条件にしたい...
回答  小僧  - 05/5/19(木) 13:34 -

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

ご提示されたコードでいくつか疑問があるのですが…。


>  If IsNull(Me.検索項目) = False And Len(Me.検索項目) <> 0 Then
>  If IsNull(Me.検索コード) = False And Len(Me.検索コード) <> 0 Then

  検索項目、検索コードの値が入っていたらExit Subしてしまうのですが…。

>  Me.検索項目コンボ.SetFocus

  フォーム上に「検索項目コンボ」と「検索項目」と2つのコントロールが
  別にあるわけではないですよね?


あとは実際にSQLを発行する直前までのコードを書いて、

> Set wCNN = Application.CurrentProject.Connection
> Set wRec = New ADODB.Recordset

以下の処理をコメント化して

  Debug.Print strSQL

でイミディエトウィンドウに表示されるSQLが正しいかを検証してから
SQL発行後の処理を作ってみてはいかがでしょうか?
・ツリー全体表示

【5048】Re:コンボボックスの値を検索条件にしたい...
発言  クロ  - 05/5/19(木) 13:21 -

引用なし
パスワード
   検索項目のコンボボックスの名前は「検索項目」?「検索項目コンボ」?
検索項目の各フィールドは全て「テキスト型」でいいのでしょうか?

これだけまずは確認してください。
・ツリー全体表示

【5046】コンボボックスの値を検索条件にしたいの...
質問  orange  - 05/5/19(木) 12:01 -

引用なし
パスワード
   こんにちわ。

久しぶりの質問です。
コンボボックスから検索条件の項目を選択し、コード検索をしたいのです。

ところが下記のように記述したところ、コンボボックスの値(検索項目)も検索コードの
値もVBAで取得できていない状況でSQLが成立してないのです。

  If IsNull(Me.検索項目) = False And Len(Me.検索項目) <> 0 Then
    MsgBox "検索項目を正しく入力してください。", _
    vbOKOnly + vbCritical, ""
    Me.検索項目コンボ.SetFocus
    Exit Sub
  End If
  If IsNull(Me.検索コード) = False And Len(Me.検索コード) <> 0 Then
    MsgBox "検索コードを正しく入力してください。", _
    vbOKOnly + vbCritical, ""
    Me.検索コード.SetFocus
    Exit Sub
  End If

              ここまでのチェックはひっかかっていません
  
  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.検索コード & "';"
  
  Set wCNN = Application.CurrentProject.Connection
  Set wRec = New ADODB.Recordset

お気づきの点、アドバイスよろしくお願いします。
・ツリー全体表示

【5045】Re:標題とフィールドサイズの設定
回答  ひろのしま E-MAIL  - 05/5/19(木) 11:30 -

引用なし
パスワード
   >Caption プロパティは、作らないと有りません(既定では存在しない)。
>CreateProperty で作成してから値を代入する必要があります。
>ヘルプに解説と使用例が有りますので、参照してみてはいかがでしょうか。
>
>ちなみに、手前味噌で恐縮ですが、関連リンク。
>
>http://www.f3.dion.ne.jp/~element/msaccess/AcTipsTblChangeFieldProperty.html

只今少し模索中ですが、とりあえず下記のようなコマンドになりました。
手前味噌ですが、ご参考ください。

Function Moju_標題IME設定()
Dim Prty As Property
Dim STname As String
Dim Ctlg As New ADOX.Catalog
STname = "テーブル名"
' 表名、フィールド情報
Dim db As DAO.Database
Dim tbDef As DAO.TableDef
Dim fld As DAO.Field
Dim lCount As Long
Set db = CurrentDb
Set tbDef = db.TableDefs(STname)

'標準で用意されていないので、このプロパティを作る
For lCount = 0 To tbDef.Fields.Count - 1
    Set fld = tbDef.Fields(lCount)
    Set Prty = fld.CreateProperty("Caption", dbText, "標題")
    fld.Properties.Append Prty
Next

  For lCount = 0 To tbDef.Fields.Count - 1
    If dbText = (tbDef.Fields(lCount).Type) Then
      With tbDef.Fields(lCount)
      .Properties("IMESentenceMode") = 3
      .Properties("IMEMode") = 3        '3 コントロールなしに
      .Properties("Caption") = "おもて"
      End With
    End If
  Next lCount
  'テーブル作成
  Set tbDef = db.CreateTableDef("フォルダ指定")
  With tbDef
    .Fields.Append .CreateField("Ftx1", dbText, 5)
    .Fields.Append .CreateField("Ftx2", dbText, 6) '
  End With
Set tbDef = Nothing
TBLdb.Close
End Function
・ツリー全体表示

【5044】Re:エクセルへのエクスポートについて
回答  小僧  - 05/5/19(木) 9:49 -

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

社員情報テーブル からルックアップで指定した際、
「氏名」フィールドのみでなく、例えば「ID」フィールドみたいな
ものも合わせて設定していないでしょうか?

aaaテーブルをデータシートビューで見た時には文字が入っているのに、
デザインビューで「氏名1」フィールドのデータ型を見ると数値型に
なっているのであれば、もう一度ルックアップを設定をやりなおしてみては
いかがでしょうか?

外していたらすみません。
・ツリー全体表示

【5043】Re:標題とフィールドサイズの設定
回答  YU-TANG WEB  - 05/5/19(木) 0:06 -

引用なし
パスワード
   こんばんは、YU-TANG です。
横レス失礼します。

> 標題=>Caption
> というプロパティがあるはずなのですが、"メソッドまたはデータメンバがあ
> りません。"というメッセージが出てきて設定できません。

Caption プロパティは、作らないと有りません(既定では存在しない)。

CreateProperty で作成してから値を代入する必要があります。
ヘルプに解説と使用例が有りますので、参照してみてはいかがでしょうか。

ちなみに、手前味噌で恐縮ですが、関連リンク。

http://www.f3.dion.ne.jp/~element/msaccess/AcTipsTblChangeFieldProperty.html
・ツリー全体表示

【5042】Re:エクセルへのエクスポートについて
質問   E-MAIL  - 05/5/18(水) 21:35 -

引用なし
パスワード
   リレーションを設定してもだめでした。
もう一度状況を説明致します。

テーブル[社員情報]にはフィールド[氏名]があります。
テーブル[aaa]にはフィールド[氏名1.][品名]があります。
フィールド[氏名1]はルックアップにより、テーブル[社員情報]のフィールド[氏名]を設定しています。

クエリを用いて、テーブル[aaa]を集約し、その結果をエクセルにエクスポートしようとしています。

エクスポート結果をエクセルで確認すると、[氏名1]のデータが全て数値になっています。これを文字データ(山田太郎のようなもの)にしたいと考えています。
ルックアップを設定すると、データ型が”数値”になるのですが、これは問題ないですか?連結列とかも何か変更するのでしょうか?

回答お願いします。
・ツリー全体表示

【5041】Re:標題とフィールドサイズの設定
回答  小僧  - 05/5/18(水) 19:32 -

引用なし
パスワード
   ▼ひろのしま さん:
こんばんは。

>>SQLの「ALTER TABLE」を使えば変更ができます。
の例です。(当方Access2000)

Sub TEST()
Dim strSql As String

  strSql = "ALTER TABLE T_TEST ALTER COLUMN F1 TEXT(10);"
  CurrentDb.Execute strSql, dbFailOnError

End Sub


>それは、一度オラクルやSQLサーバー等で抽出されたCSVデータをインポートする時
>(列名は日本語でない)に、Accessの方の列名をアルファベットにする必要があり、
>標題に日本語名を記入する必要があったのです。

インポートをどのような方法で行っているかが解りませんが、
「TransferText」メソッドを使用しているのであれば、
第2引数(定義)でインポートの定義が指定できると思います。

もちろん日本語に訳すような器用な機能はついておりませんが…。

またSQLでCSVファイルに直接アクセスする事も可能なようです。
こちらは自分で試した事がありませんので、リンクを紹介させて頂きます。

http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGnrlHowToAttachExternalText.html
・ツリー全体表示

【5040】Re:標題とフィールドサイズの設定
発言  ひろのしま E-MAIL  - 05/5/18(水) 18:49 -

引用なし
パスワード
   ▼小僧 さん:
>▼ひろのしま さん:
>こんにちは。
>
>DAOではフィールドサイズの設定はできなかったように思われます。
>(当方の勘違いかもしれません)
>
>SQLの「ALTER TABLE」を使えば変更ができます。
DoCmd.RunSQL "Create View UKETUKE As Select * From 該当テーブル;"
DoCmd.RunSQL "Alter Table 該当テーブル Change Column 該当テーブル.該当フィールド Text(10);"
DoCmd.RunSQL "COMMENT ON COLUMN 該当テーブル.該当フィールド Is 'れつ';"


>どのようなデータベースを作成しておられるのかが解りませんが、
>基本的にテーブルの設計は途中で変更しないように初期設計を
>する方が良いかも…です。

いずれのコマンドもAccess上では不可能なコマンドです。
で何故これを行う必要があるのか。それは、一度オラクルやSQLサーバー等
で抽出されたCSVデータをインポートする時(列名は日本語でない)に、
Accessの方の列名をアルファベットにする必要があり、標題に日本語名
を記入する必要があったのです。Accessではやはり出来ませんですかね?
・ツリー全体表示

【5039】Re:標題とフィールドサイズの設定
発言  小僧  - 05/5/18(水) 17:11 -

引用なし
パスワード
   ▼ひろのしま さん:
こんにちは。

DAOではフィールドサイズの設定はできなかったように思われます。
(当方の勘違いかもしれません)

SQLの「ALTER TABLE」を使えば変更ができます。


どのようなデータベースを作成しておられるのかが解りませんが、
基本的にテーブルの設計は途中で変更しないように初期設計を
する方が良いかも…です。
・ツリー全体表示

【5038】標題とフィールドサイズの設定
質問  ひろのしま E-MAIL  - 05/5/18(水) 15:38 -

引用なし
パスワード
   質問致します。下記のコマンドで、該当テーブルの
該当フィールドに標題とフィールドのサイズを設定したいのですが
フィールドのプロパティに
フィールドサイズ=>.Fieldsize
はあるのですが、"値の取得のみ〜"というメッセージが出てきて設定が出来ま
せん。更に、
標題=>Caption
というプロパティがあるはずなのですが、"メソッドまたはデータメンバがあ
りません。"というメッセージが出てきて設定できません。
これらの設定を行うにはどんな方法をとればよいのでしょうか?
どうかよきアドバイスをお願いします。


Function Moju_プロパティ設定()
Dim TBLdb As Database
Set TBLdb = CurrentDb
  With TBLdb.TableDefs("該当テーブル")
  For FldCnt = 1 To .Fields.Count
    With .Fields(FldCnt - 1)
    If .Name = "該当フィールド" Then
        For PrtyCnt = 1 To .Properties.Count
          .AllowZeroLength = False
          .ValidationRule = ">0"
          .ValidationText = "マイナスはありえません。"
          .DefaultValue = "00000"
          .OrdinalPosition = 0
          
        Next
    End If
    End With
  Next
  End With
TBLdb.Close
Set TBLdb = Nothing
End Function
・ツリー全体表示

【5037】Re:エクセルへのエクスポートについて
回答  Gin_II  - 05/5/18(水) 8:24 -

引用なし
パスワード
   >T_社員情報にあるフィールド[氏名]のデータを、ルックアップとしてコンボボクッスを使用して表示しています。

クエリで、「T_社員情報」テーブルを追加して、社員ID?フィールドで
結合してください。
・ツリー全体表示

【5036】Re:プロパティウィンドウのフォント
お礼  しん  - 05/5/17(火) 20:58 -

引用なし
パスワード
   Gin_IIさま

さっそくの返答ありがとうございます。

>こちらでしょうか?
そちらでした。ずいぶん見やすくなりました。
ありがとうございました。
・ツリー全体表示

【5035】Re:エクセルへのエクスポートについて
質問   E-MAIL  - 05/5/17(火) 20:56 -

引用なし
パスワード
   ▼Gin_II さん:
>その元となっているテーブルで、ルックアップの設定とかをしているのでは?

T_社員情報にあるフィールド[氏名]のデータを、ルックアップとしてコンボボクッスを使用して表示しています。

>その場合、値リストとして設定しているのか、別テーブルを参照させているのか。

”値リスト”とは何ですか?初心者なので、設定していないつもりです。
氏名を入力するために、コンボボックスを使用したいと思い、その際、データ
入力が面倒なので、T_社員情報にあるフィールド[氏名]をルックアップで指定
しました。
・ツリー全体表示

【5034】Re:日にちの条件により処理を行う
お礼  SWEET SAUCE  - 05/5/17(火) 20:32 -

引用なし
パスワード
   Gin_II さま

DLookup 関数でやっていけそうです。
言葉足らずの質問だったでしょうにお答えいただき感謝します。
・ツリー全体表示

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