• ベストアンサー

ACCESSのフィールド

ACCESSのフィールドで16桁あります フォーム画面で 5桁づつ 表示させる方法はありますか

質問者が選んだベストアンサー

  • ベストアンサー
  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.1

テキストボックスなら書式に "@@@@@ @@@@@ @@@@@ @" とすれば5桁づつスペース区切りで表示できます。

ken071225
質問者

お礼

ご回答ありがとうございます おかげさまできれいに表示できました

その他の回答 (2)

noname#140971
noname#140971
回答No.3

既に正答えが示されていますので関数バージョンで・・・。 tab1: テーブル [ID][fld_1] ___1_abcdefghijklmnop クエリ5: クエリ [fmt_fld_1_________][式1__][式2__][式3__][式4__] _abcde/fghi/klmno/p__abcde__fghij__klmno__p SELECT Format([fld_1],"@@@@@/@@@@@/@@@@@/@") AS fmt_fld_1, CutStr([fmt_fld_1],"/",1) AS 式1, CutStr([fmt_fld_1],"/",2) AS 式2, CutStr([fmt_fld_1],"/",3) AS 式3, CutStr([fmt_fld_1],"/",4) AS 式4 FROM tab1; 標準モジュールに以下の関数を登録する必要があります。 この場合、文字列の分割の仕方と抽出している位置がよくわかります。 Public Function CutStr(ByVal Text As String, _             ByVal Separator As String, _             ByVal N As Integer) As String   Dim strDatas() As String      strDatas = Split("" & Separator & Text, Separator, , 0)   CutStr = strDatas(N * Abs((N <= UBound(strDatas)))) End Function

  • taranko
  • ベストアンサー率21% (516/2403)
回答No.2

1.フォームに16桁すべてのテキストBOX作成する 2.非連結のテキストBOXを作成する 3.作成した非連結のテキストBOXのコントロールソースに次の関数 を入れる 1~5桁目を取る場合 =Mid([テキストBOX名],1,5) 6~10桁目を取る場合 =Mid([テキストBOX名],6,5) 11~16桁を取る場合 =Mid([テキストBOX名],11,6) 4.1で作成した元となるテキストBOXの可視の部分を「いいえ」とし みえなくする いかがでしょうか? また、クエリーを使いフィールドのところに上と同様のMid関数を 使用し先に分割し、フォームの元データをクエリーとし分割済みの 値を表示する方法もあります。

関連するQ&A