
アクセス2000を使用しています。
フォームでテーブルにデータを入力しています。
フィールド1に【みかん A-1】と入力するとフィールド2に自動的に【みかん】と
空白の前の文字を返したいのですが可能でしょうか?
必ず半角のスペースが間に入りますのでその前の文字(文字数は決まってません)を
自動で入力されるようにしたいです。
テーブルのフィールドにも入力されるように反映もしたいです。
DLookupではやはりフィールド全体になりますよね?
分かりにくい説明ですがよろしくお願いします。
初心者ですので分かりやすく教えて頂けると助かります。
No.3ベストアンサー
- 回答日時:
フィールド1の更新後処理のイベントで、
Private Sub フィールド1_AfterUpdate()
Dim var As Variant
'split関数で変数varに文字列を半角スペースのところで分離して格納します。配列です。
var = Split(Me!フィールド1, " ")
'分解した文字列の最初を取り出しフィールド2にいれます
Me!フィールド2 = var(0)
End Sub
でいいのでは?
更新後処理ですから、フィールド1に入力後
フィールド2などをクリックしてフォーカス
を移動するようにします。
No.5
- 回答日時:
>テーブルのフィールドにも反映したい。
失礼。ここは読んでいませんでした。連結列は
Private Sub フィールド1_BeforeUpdate(Cancel As Integer)
Me.[フィールド2] = CutStr([フィールド1] & "", " ", 1)
End Sub
と、イベントを利用すべきでした。
この回答への補足
イベントでしてみたのですがコンパイルエラーがでます。
SubまたはFunctionが定義されていません。となるのですが
イベントに書き込むだけではダメなのでしょうか?
No.4
- 回答日時:
Q1、上のコードはどこにしたらいいのでしょうか?
A1、標準モジュールに関数(Function)として登録します。
Q2、テキスト3とは?
A2、フィールド2に相当します。
つまり、標準モジュールにDlookup()と同じ働きをする関数CutStr()を登録。
もって、[フィールド2]のコントロールソースを指定して目的を達成。
そういう回答です。
この回答への補足
フィールド2には文字はでますがやはりコントロールソースを変更してしまうと
テーブルに反映されずに入力できていませんでした。
テーブルに反映されるようにしたいです。
やり方を勉強したいので、あれば教えて下さい。
No.1
- 回答日時:
Option Compare Database
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
上の CutStr関数を使うと簡単に実現できます。
? CutStr("AAA BBB", " ", 1)
AAA
? CutStr("AAA BBB", " ", 2)
BBB

この回答への補足
上のコードはどこにしたらいいのでしょうか?
画像ではテキスト3のコントロールソースがありますがテキスト3は
新たにどこかに作る感じですか?
全くの無知でお恥ずかしいです。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
access別のテーブルを参照してテキストボックスに値を表示、編集したい
Access(アクセス)
-
AccessでIDを入力したら他の項目も自動で表示
Access(アクセス)
-
Access フィールドに入力した値を、同じテーブルの別のフィールドにコピーしたい。
Access(アクセス)
-
-
4
アクセスVBAのMe!と[ ]
Access(アクセス)
-
5
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
6
Accessでコードを入れると名前がでるようにしたい
Access(アクセス)
-
7
Accessで、他の二つのフィールドの値を結合し自動的に入力する
その他(データベース)
-
8
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
9
商品番号を入力すると、商品名フィールドに自動で名前が出てくるようにしたいのですが・・・
その他(データベース)
-
10
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
11
AccessからExcelのファイルを起動する
その他(データベース)
-
12
DLookupがうまく出来ません
Access(アクセス)
-
13
「Access」のフォームで、同じデータの入力の手間を省くには?
Access(アクセス)
-
14
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
15
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
16
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
17
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
18
アクセスで、チェックボックスにyesの時、金額表示の方法
Access(アクセス)
-
19
フィールドの値を別のフィールドに代入
Access(アクセス)
-
20
Accessでvlookupみたいなことはできますか。
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelからAccessデータを検索す...
-
MS-WORDで、あるフィールドに入...
-
ファイルメーカ 集計の表示
-
FileMakerで特定フィールドを空...
-
ファイルメーカーでの自動入力...
-
「#エラー」の回避
-
FileMakerで繰り返しフィールド...
-
A1、A2、A3・・・とデータを増...
-
差し込み文書のルールで if the...
-
Accessで値がnullの場合は計算...
-
ファイルメーカーによるリスト...
-
ACCESSにEXCELのハイパーリンク...
-
ファイルメーカーでの最大値の...
-
ファイルメーカー6のオブジェク...
-
MS-ACCESSで中央値(ME...
-
アクセスで入力したデータの順...
-
FileMakerで、フィールドの値が...
-
ファイルメーカー複数フィール...
-
FileMaker一括変換処理のスクリ...
-
Accessを使ってレポートを印刷...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelからAccessデータを検索す...
-
ファイルメーカ 集計の表示
-
「#エラー」の回避
-
アクセスで入力したデータの順...
-
accessのフィールドに10桁の数...
-
「フィールド更新」が表示されない
-
差し込み文書のルールで if the...
-
MS-WORDで、あるフィールドに入...
-
ACCESSでデータ変更箇所が分か...
-
FileMakerで、フィールドの値が...
-
WORD差し込み印刷:日付の処理 ...
-
Accessフォームで平均値の出し...
-
Accessでボタンを押すと今日の...
-
アクセス 入力した文字を自動...
-
Accessで値がnullの場合は計算...
-
FileMakerで画像をまとめて書き...
-
ファイルメーカー5.0でCOUNTIF!!
-
A1、A2、A3・・・とデータを増...
-
Access フィールド内の値で、...
-
ファイルメーカーによるリスト...
おすすめ情報