Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Access 2016)
複数のテキストボックスに変数を入力する
投稿日時: 17/12/15 16:47:48
投稿者: こまつ

今、テクストボックスが400個あります。
そこに400字の文字列データを順番に1文字ずつ表示します。
テキストボックスの名前はテキスト0からテキスト399となっています。
そこで、
for i 0 to 399
“Forms.フォーム.テキスト”&i=mid(J,1+i,1)
next
 
となっているのですが、(※Jには400字の文字列データが代入されています。)
うまくいきません。
“Forms.フォーム.テキスト”&iの部分が、ちゃんと参照されればいいような気がするのですが。。。
どのようにすれば良いのでしょうか?

回答
投稿日時: 17/12/15 17:13:49
投稿者: sk

引用:
テキストボックスの名前はテキスト0からテキスト399となっています。

引用:
for i 0 to 399
Forms.フォーム.テキスト”&i=mid(J,1+i,1)
next

For i = 0 To 399
    Forms![フォーム名].Controls("テキスト" & i) = Mid(J, 1 + i, 1)
Next

回答
投稿日時: 17/12/16 11:18:38
投稿者: hatena
投稿者のウェブサイトに移動

完璧な回答が既にskさんから出てきますが、
そのようなことがしたい目的はなんでしょうか。
 
入力、編集目的ではないですよね。とても使いづらいので。
原稿用紙のようなマスに当てはまるように等間隔で文字を表示したいということが目的でしょうか。
だとしたら、もう少し楽な方法があります。
 
400個ものテキストボックスを配置して、メンテナンスするのは大変ですよね。

投稿日時: 17/12/18 08:57:19
投稿者: こまつ

skさん、ありがとうございます!
 
hatenaさん、じつは、ジェノグラムというもの作りたく、様々な記号等を組み合わせて400字固定のデータ(ほとんどはスペース)ででできないかと考えています。

回答
投稿日時: 17/12/18 09:24:55
投稿者: hatena
投稿者のウェブサイトに移動

こまつ さんの引用:
hatenaさん、じつは、ジェノグラムというもの作りたく、様々な記号等を組み合わせて400字固定のデータ(ほとんどはスペース)ででできないかと考えています。

 
「ジェノグラム」初めて聞いたものなのでWEB検索してみました。
記号を線で結んで表す家族図ということでしょうか。
 
記号や線は文字としてあるのでしょうか。(専用のフォントがある?or外字で作成している?・・・)
 
20行✕20列なら、20字で改行をいれて、一つのテキストボックスに表示するということでは希望の表示にならないのでしょうか。

投稿日時: 17/12/18 10:24:39
投稿者: こまつ

hatenaさん
記号や線は文字でなんとかやっています。
マウスクリックで1文字ずつ入力できた方が作りやすいので。。。
他にもっといい方法があるのかもしれませんが。。

回答
投稿日時: 17/12/18 11:13:54
投稿者: hatena
投稿者のウェブサイトに移動

方眼紙のマスに位置文字ずつ入力していって図形的な表現をするという案件はいくつか作成したことがあります。
 
その場合に採用した方法を紹介しておきます。
それぞれメリット、デメリットがありますので、適した物を採用されるといいでしょう。
 
案1
今回のこまつさんの方法と同じようにマスの数だけのテキストボックスを配置して、
テキスト1, テキスト2, ・・・というように連番をつけたコントロール名にして、
VBAからはskさんの方法で各コントロールにアクセスして制御する。
 
デメリット 400のテキストボックスを扱うのが大変
メリット コードはコントロールに連番名を付けることで比較的簡単になる
 
案2
20行✕20列の文字がはいるサイズのラベルを配置しその標題にテキストを代入します。
マウスボタンクリック時のイベントでクリックした座標が取得できるので
そこからクリックした行列の位置を取得してそこにテキストボックスを表示する。
そこで入力したらその文字をラベルの標題のテキストの適切な位置に挿入する。
Midステートメントで簡単に挿入できます。
 
メリット ラベルとテキストボックス一つだけでできる
デメリット コードがちょっと複雑になる
 
案3
下記のような専用ソフトがあるので、それで作成して、ファイルのパスをハイパーリンク型フィールドに格納する。クリックすればそのファイルを開くことができます。
 
かんたんに家族図を作成できるソフトウェア「かんたんジェノグラム」
http://geno.vintage.ne.jp/
 
メリット ハイパーリンク型フィールドのみで可能、編集は簡単にできて、表現力も高い
デメリット 導入費用がかかる
 
予算が許すなら案3が一番実用的な気がします。

投稿日時: 17/12/18 22:30:25
投稿者: こまつ

hatenaさん
色々な方法を教えていただきありがとうございます!
色々と試しながら良い方法を選んでいきたいと思います
ありがとうございました!