Access VBA質問箱 IV

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

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


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

【9794】Re:ラジオボタンのオンオフについて
回答  Gin_II  - 07/8/30(木) 12:30 -

引用なし
パスワード
   > ラジオボタンは複数の選択肢から択一する機能がありますが、どれかを
> 選択した場合必ず一つチェックがついたままになってしまいます。

オプショングループでオプションボタンを使っている場合のことでしょうか?

> 同じラジオボタンをクリックするごとにオンオフの切り替えが出来るように
> したいのですがやり方がわからず困っています。

チェックボックスを使えばいいのでは?
・ツリー全体表示

【9793】ラジオボタンのオンオフについて
質問  といとい  - 07/8/30(木) 10:54 -

引用なし
パスワード
   ラジオボタンで値をクリックするごとにオンオフの切り替えをする方法を教えていただけないでしょうか。

ラジオボタンは複数の選択肢から択一する機能がありますが、どれかを選択した場合必ず一つチェックがついたままになってしまいます。
同じラジオボタンをクリックするごとにオンオフの切り替えが出来るようにしたいのですがやり方がわからず困っています。

お手数ですがよろしくお願いします。
・ツリー全体表示

【9792】Re:ファイルがANSIで保存されてしまいます...
お礼  ふみろう  - 07/8/28(火) 20:46 -

引用なし
パスワード
   ありがとうございます。
私の能力でどこまでやれるか疑問ですがとりあえず
2)のほうで挑戦してみたいと思います。
・ツリー全体表示

【9791】Re:他のフォームのオブジェクトの参照法
お礼  くまごろう  - 07/8/28(火) 16:58 -

引用なし
パスワード
   すばらしい!!!
あきらめて、全部打ち込んでいました。これでリストがすっきりします。
教えていただくと『なぁんだ、簡単なことなんだ…』って思いますが、その簡単なことが判っているかどうかって、すごい大きな違いなんですよね。

本当にありがとうございます。
・ツリー全体表示

【9790】Re:サブフォームのデータについて
回答  hatena  - 07/8/28(火) 10:23 -

引用なし
パスワード
   >下記のコードを実行した後に、Accessのフィルタ機能を使用しようとすると、
>エラーメッセージが出ます。
>レコードセットを行わずに、サブフォームなどにデータをセットしようと思うと
>どのような方法がありますか?

レコードソースに、SQL を設定すればいいかと。


Dim sqlcode As String

sqlcode = "SELECT 棟, 階, IP, アドレス, IPアドレス, ゲートウェイ FROM 19IPベース_T"

[18空きIP_F].Form.RecordSource = sqlcode
・ツリー全体表示

【9789】Re:ファイルがANSIで保存されてしまいます...
回答  YU-TANG  - 07/8/28(火) 2:36 -

引用なし
パスワード
   Unicode で保存(書き込み)したいという意味でよいですか?

一般的には下記のいずれかの方法を使います。

1) Scripting ランタイム ライブラリの OpenTextFile メソッドを使う。

msdn.microsoft.com/library/ja/script56/html/jsmthOpenTextFile.asp
www.microsoft.com/japan/technet/scriptcenter/resources/qanda/apr06/hey0419.mspx


2) VBA の Open ステートメントを使う(COM経由より、難易度は若干高い
 ですが、高速です)。

alexdyb.blogspot.com/2007/06/how-to-write-out-unicode-text-files-in.html
↑記事本文ではなくコメントの方に、そのまんまのユーザー定義関数が
 投稿されています。

お好みでどちらでも。
それでは。
・ツリー全体表示

【9788】Re:AccessからExcelのセル操作について
質問  luna  - 07/8/27(月) 16:31 -

引用なし
パスワード
   ▼たん さん:
>>  Set wb = objXL.Workbooks.Open(filename:=strFilename, ReadOnly:=False)
>
>上位オブジェクトから参照して開いている筈なのに
>
>>※  Worksheets("aaa_list").Cells(1, 13) = "TEST"
>
>上位オブジェクトなしで参照しようとさせているから、
>というだけの理由かと。
>
># オートメーション処理を流れを把握せずに書くと、
># Excelが終了しない等、痛い目を見ることになりますよ。

たん さん
回答ありがとうございます。

上位オブジェクトとは
「objXL.Workbooks.」にあたりますか??
安易に
objXL.Workbooks.Worksheets("aaa_list").Cells(1, 13) = "TEST"
でよいのでしょうか?

教えてください。よろしくお願いします。
・ツリー全体表示

【9787】Re:AccessからExcelのセル操作について
回答  たん  - 07/8/27(月) 14:48 -

引用なし
パスワード
   >  Set wb = objXL.Workbooks.Open(filename:=strFilename, ReadOnly:=False)

上位オブジェクトから参照して開いている筈なのに

>※  Worksheets("aaa_list").Cells(1, 13) = "TEST"

上位オブジェクトなしで参照しようとさせているから、
というだけの理由かと。

# オートメーション処理を流れを把握せずに書くと、
# Excelが終了しない等、痛い目を見ることになりますよ。
・ツリー全体表示

【9786】AccessからExcelのセル操作について
質問  luna  - 07/8/27(月) 11:16 -

引用なし
パスワード
   よろしくお願いします。
(Access2003を使用しています。)

AccessでExcelのセルに値を入れたいのですが、
Callで下記モジュールを呼び出すと「※」のところでエラーが発生します。
エラーは「Worksheetメソッドは失敗しました。Globalオブジェクト」です。

またExcelがうまく閉じていないようです。
教えてください。

Sub csvedit1()

On Error GoTo csvedit1error

  Dim objXL As New Excel.Application
  Dim wb As Excel.Workbook
  Dim strFilename As String
  
  strFilename = Forms![01main_F].cmb1
  
  Set wb = objXL.Workbooks.Open(filename:=strFilename, ReadOnly:=False)
  
※  Worksheets("aaa_list").Cells(1, 13) = "TEST"
  
  With wb
    .Saved = True
    .Close
  End With
  
  objXL.Quit
  Set wb = Nothing
  Set objXL = Nothing
  
csvedit1error:
  Exit Sub

End Sub
・ツリー全体表示

【9785】ファイルがANSIで保存されてしまいます。
質問  ふみろう  - 07/8/26(日) 19:01 -

引用なし
パスワード
   「rs」テーブルから「名称」フィールドのデータを取り出して
テキストファイル(XML)を出力しましたがエクスプローラでデータを確認
することができません。原因はDTDファイルが「ANSI」で保存されている
ためだとわかりました(XML本体はANSIでOK)
バイナリーでの保存など試してみましたが文字化けが発生して
VBA初心者の能力の限界を超えてしまいました。
なにかよきアドバイスをお願いします。

 fno = FreeFile
  Open ffn For Output As #fno
  Do Until rs.EOF
   If IsNull(rs![名称]) Then
    s1 = vbLf
   Else
    s1 = rs![名称] & vbLf
   End If
   Print #fno, s1
   rs.MoveNext
   i = i + 1
  Loop
  Close #fno
・ツリー全体表示

【9784】Re:他のフォームのオブジェクトの参照法
回答  hatena  - 07/8/26(日) 18:52 -

引用なし
パスワード
   >  Forms!Form120新しいデータ.TBx氏名 = S
>  Forms!Form120新しいデータ.TBxID = ID
>  Forms!Form120新しいデータ.TBx行数 = LChNmb
>
> と「Form120新しいデータ」に送り込みたいのですが、この「Forms!Form120新しいデータ」の部分だけでももっと簡単な方法はないものかと思いまして。項目数が20近くあるのでタイプ・ミスなく書くのも大変です。

Dim f As Form

Set f = Forms!Form120新しいデータ

f.TBx氏名 = S
f.TBxID = ID
f.TBx行数 = LChNmb

とか、

With Forms!Form120新しいデータ
 .TBx氏名 = S
 .TBxID = ID
 .TBx行数 = LChNmb
End With

ということかな。
・ツリー全体表示

【9783】Re:他のフォームのオブジェクトの参照法
質問  くまごろう  - 07/8/25(土) 11:22 -

引用なし
パスワード
   質問を簡単にしようとして、かえってわかりにくい質問になってしまいました。すみません。
『「Form100元のデータ」 の各レコードにあるデータに何らかの処理を加え、処理済のデータを「Form120新しいデータ」に新レコードとして加えていく』というのが、やりたい内容なんです。
 その場合、FormAでは、例えば TBxID は Me.TBxID(または Forms!FormA.TBxID)、TBxTitle は Me.TBxTitle(または Forms!FormB.TBxTitle)で良いかと思いますが、送り先の FormBについては "Forms!FormB.TBxTitle"などとフルネーム(?)で指定するより他に方法はないのでしょうか。

 Dim S as String
 Dim ID as String
 Dim LChNmb as Long

などとして、「Form100元のデータ」から得たデータを処理しながら、

 Forms!Form120新しいデータ.TBx氏名 = S
 Forms!Form120新しいデータ.TBxID = ID
 Forms!Form120新しいデータ.TBx行数 = LChNmb

と「Form120新しいデータ」に送り込みたいのですが、この「Forms!Form120新しいデータ」の部分だけでももっと簡単な方法はないものかと思いまして。項目数が20近くあるのでタイプ・ミスなく書くのも大変です。

例えば別のフォームのレコードを1つ先に進めるのに
  Dim ToForm as String

  ToForm = "Form120新しいデータ"
  DoCmd.GoToRecord acDataForm, ToForm, acNewRec

でちゃんと動くのに

  ToForm.TBx氏名 = S ではエラーになってしまう…
  ToForm & ".TBx氏名" = S でもエラーになってしまう…

かといって
 Dim To氏名 as Textbox
 
 Set To氏名 = Forms!Form120新しいデータ.TBx氏名

ではいきなりエラーになってしまう…。
お察しの通り、私はVBA超初心者です。どうか、お助けください。
・ツリー全体表示

【9781】Re:他のフォームのオブジェクトの参照法
回答  Gin_II  - 07/8/24(金) 23:04 -

引用なし
パスワード
   > この「Forms!Form2!TBxTitle」または「Forms!Form2!」の部分を変数(?)に
> 格納して利用し、毎回全文を書かなくても良い方法はあるでしょうか。

Dim ctr As Control
Set ctr = Forms!Form2!TBxTitle

もしくは、

With Forms!フォーム名!コントロール名
  .Visible = False
End With

ってこと?
・ツリー全体表示

【9780】他のフォームのオブジェクトの参照法
質問  くまごろう  - 07/8/24(金) 19:05 -

引用なし
パスワード
   現在アクティブなフォームが Form1 だったとして、そこから Form2 の TBxTitle の値を文字列変数Sに読む場合、
S = Forms!Form2!TBxTitle
で良いと思いますが、この「Forms!Form2!TBxTitle」または「Forms!Form2!」の部分を変数(?)に格納して利用し、毎回全文を書かなくても良い方法はあるでしょうか。

実際にはフォーム名もコントロール名も長いし、場合によってはフォームも別のものに切り替えることが必要なのです。
・ツリー全体表示

【9779】Re:テキストファイルにおとしたい
回答  Nao  - 07/8/24(金) 17:00 -

引用なし
パスワード
   マクロの「テキスト変換」またはVBAの「DoCmd.TransferText」あたり
を参考にされるとよいと思います。
・ツリー全体表示

【9778】テキストファイルにおとしたい
質問  マッキー  - 07/8/24(金) 16:53 -

引用なし
パスワード
    どなたか教えてください。
 以下のようなテーブルがあるのですが、それをテキストファイルに落としたいのです。(番号1、2はそれぞれ3桁までの数字です)どのようにすればいいでしょうか?

<テーブル>
日付      番号1  番号2
2007/07/02   365    23
2007/08/12   741    423
2007/08/25    23    749

<テキストファイル>
2007/07/02 365 23
2007/08/12 741 423
2007/08/25 23 749  
・ツリー全体表示

【9777】Re:Strconvについて
回答  Nao  - 07/8/24(金) 10:39 -

引用なし
パスワード
   あみーご さん こんにちは

横レス失礼します。

Windows Xp + Access2000 では

SELECT SCS01002.AutoNumber, SCS01002.Address, StrConv([Address],4) AS Expr1
FROM SCS01002;

上記クエリーにて正常に変換表示されます。

>選択クエリのSQL文は、
>SELECT SCS01002.autonumber, SCS01002.Address, StrConv([Address],4) AS Expr1 FROM SCS01002;
>
>この選択クエリの結果は下記のとおりです。
>
>autonumber |    Address1         |  Expr1
>-------------------------------------------------------
>1      |  西4丁目2-5     |  #Error
>-------------------------------------------------------

上記ですが結果は下記のとおりにはならないかと・・・
(Address と Address1 が違うのは気のせい???
・ツリー全体表示

【9776】Re:Strconvについて
質問  あみーご  - 07/8/24(金) 1:14 -

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

こんばんは。早々にありがとうございます。

選択クエリのSQL文は、
SELECT SCS01002.autonumber, SCS01002.Address, StrConv([Address],4) AS Expr1 FROM SCS01002;

この選択クエリの結果は下記のとおりです。

autonumber |    Address1         |  Expr1
-------------------------------------------------------
1      |  西4丁目2-5     |  #Error
-------------------------------------------------------
2      |  北区15条西3−12    |  #Error
-------------------------------------------------------
3      |            |  
-------------------------------------------------------
4      |  北条7丁目1−11   |  #Error
-------------------------------------------------------

3行目のように、NULLの場合は、Expr1の結果もNULLとなっています。

ちなみに、更新クエリのSQL文は
UPDATE SCS01002 SET SCS01002.Address = StrConv([Address],4);
です。

何卒、よろしくお願いします。
・ツリー全体表示

【9775】Re:Strconvについて
回答  hatena  - 07/8/23(木) 13:48 -

引用なし
パスワード
   >更新クエリでStrconv([住所],4)を実行すると、フィールドのデータが消えてしまいます。
>
>選択クエリで表示すると住所フィールドの半角文字は、全く全角に変換されておらず、式を記述したフィールドは #Error と表示されています。

その式で問題ないはずです。

#Error と表示される選択クエリをSQLビューにしてSQL文をコピーして
貼り付けてもらえますか。
・ツリー全体表示

【9774】Strconvについて
質問  あみーご  - 07/8/23(木) 7:24 -

引用なし
パスワード
   Access2007で半角のカナと数字で登録されているフィールドのデーターを全て全角に変換したいのですが
更新クエリでStrconv([住所],4)を実行すると、フィールドのデータが消えてしまいます。

選択クエリで表示すると住所フィールドの半角文字は、全く全角に変換されておらず、式を記述したフィールドは #Error と表示されています。

全く原因がわかりません。
どなたか同じような問題に遭遇した方はいらっしゃらないでしょうか??
他に変換方法があれば教えてください。
よろしくお願いします。
・ツリー全体表示

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