accessで作った受注管理のデータを抜き出してクロネコヤマトのi-cats(b2)に入力するように作りました。
b2のデータ交換規約(?)の方のテキスト型のフィールドサイズの指定が
半角英数字10文字
となっていたり、
15文字/30文字 全角/半角
というようになっています。
質問なんですが
このフィールドサイズにぴったり合うようにフィールドサイズの設定をするにはどうしたらいいでしょうか?
また、半角英数字・半角カタカナ・数字等、特定の文字の種類だけ入力できるようにたりしたいです。
もうひとつ別の質問です
VBAで、設定したフィールドサイズよりも大きいテキストを入れようとするとエラーが出るんですが、VBAで後ろを切り捨てたりして入るサイズに縮める方法を教えてください。
長くなりましたが宜しくお願いします。
No.2ベストアンサー
- 回答日時:
>15文字/30文字 全角/半角
フォームから入力するのであればテーブルのフィールドの入力規則に
LenB(StrConv(([フォームのコントロール名]),vbFromUnicode))<=30
とすればフィールドには30Byteまでしか入力できなくなります。これで全角15文字・半角30文字まで。
>半角英数字・半角カタカナ・数字等、特定の文字の種類だけ入力できるようにたりしたいです
フォームでならコントロールのプロパティのIME入力モードをそのフィールドに合ったものに設定すれば良いと思います。
>VBAで後ろを切り捨てたりして入るサイズに縮める方法
Mid関数で切り抜きます。バイト数で切り出す場合はMidB関数でできます。
MidB([フィールド名やコントロール名],1,10)
で1バイトから10バイト切り出します。
ありがとうございます。
具体的な方法でとても勉強になりました。
入力規則の使い方をはじめて知りました!
こんな風に使うんですね。
いろいろと試してみたいと思います。
ありがとうございました。
No.1
- 回答日時:
Q1このフィールドサイズにぴったり合うようにフィールドサイズの設定をするには
AccessではUnicodeが採用されていますので、
半角(1byte)・全角(2byte)の区別が無くなっています。
なので「15文字/30文字 全角/半角」のような場合には
テーブルデザインのフィールドサイズでは、30(文字)と設定するしか無いのでは。
Q2 また、半角英数字・半角カタカナ・数字等、特定の文字の種類だけ入力できるようにたりしたいです。
フォームのテキストボックスの更新前あたりでチェックして「警告」を出すくらいでは?
IME入力モードで設定できるかもしれませんが、数字等の「等」が気になります。
↓は参考にでも
Function asc2chr(Optional ascScope As Integer = 256)
Dim i As Integer
For i = 1 To ascScope
Debug.Print i & "," & Chr(i)
Next i
End Function
Q3 VBAで、設定したフィールドサイズよりも大きいテキストを入れようとすると
エラーが出るんですが、VBAで後ろを切り捨てたりして入るサイズに縮める方法を教えてください。
フィールドタイプがテキストなら
CurrentDb.TableDefs("テーブル名").Fields("フィールド名").Size
でフィールドサイズ(テーブルデザインの処で出てくる)が求められますので
更新前処理あたりで、Len 、Left と組み合わせては?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) EXCELでの文字・数字入力の基本について教えてください。 2 2023/05/29 23:17
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- Illustrator(イラストレーター) イラストレーターで文字の背景に自動で入れた長方形の左側の角だけ丸く(右側だけ直角に)する方法 4 2023/04/21 11:08
- Excel(エクセル) exel 漢字・英数字混在セルの入力規則 5 2022/04/03 11:08
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
On ErrorでエラーNoが0
Visual Basic(VBA)
-
5
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
6
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
7
Access サブフォームでの選択行の取得
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「#エラー」の回避
-
アクセスで入力したデータの順...
-
accessのフィールドに10桁の数...
-
差し込み文書のルールで if the...
-
FileMakerで、フィールドの値が...
-
FileMakerで外部保存PDFを開く方法
-
ACCESSでデータ変更箇所が分か...
-
FileMaker 同一フィールドに同...
-
ExcelからAccessデータを検索す...
-
ワードでプルダウン項目を作りたい
-
Accessでボタンを押すと今日の...
-
ファイルメーカー10でのフィー...
-
Accessの関数で、フィールド名...
-
ファイルメーカーのデータをc...
-
Wordでページ番号を計算式で入...
-
Select文で2つのフィールドを...
-
ファイルメーカーでの指定桁数...
-
ファイルメーカー 他のテーブ...
-
MS-WORDで、あるフィールドに入...
-
ACCESS フォームに入力した文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「#エラー」の回避
-
アクセスで入力したデータの順...
-
差し込み文書のルールで if the...
-
accessのフィールドに10桁の数...
-
ExcelからAccessデータを検索す...
-
Accessでボタンを押すと今日の...
-
Accessで値がnullの場合は計算...
-
フィールドの中のテキストを分...
-
WORD差し込み印刷:日付の処理 ...
-
FileMakerで、フィールドの値が...
-
MS-WORDで、あるフィールドに入...
-
WORDフィールドコード一括編集
-
FileMakerで画像をまとめて書き...
-
ACCESSでデータ変更箇所が分か...
-
accessのVBAで変数名でフィ...
-
Accessフォームで平均値の出し...
-
アクセス Access 時間の引き算
-
MS-ACCESSで中央値(ME...
-
ファイルメーカーのデータをc...
-
access フィールドのサイズ(文...
おすすめ情報