レコードにaaa/bbb/cccと入っていて、
クエリで
SELECT Split([テーブル1]![フィールド1],"/") AS test
FROM テーブル1;
とすると、
式に未定義関数 <関数名> があります。(Error 3085)
になります。
VBAでやるとしたら
Sub test()
Dim str As String
str = "aaa/bbb/ccc"
Debug.Print Split(str, "/")(1)
End Sub
のような事がしたいのですが
クエリでは無理なのでしょうか?
No.2
- 回答日時:
> Functionの所にブレークポイントを設置してクエリを開いたら、
そのクエリを見せてもらえることができるなら理由がわかるかも。
コピペしてもらうことは可能ですか?
「そのクエリ」をデザインビューで開いて、さらにSQLビューに切り替えると
SQL文として表示&編集できますので。
ん?
私だけなのですかね?
頂いたコードを標準モジュールにそのまま貼り付けて
頂いたSQL文をそっくりそのまま貼り付けてクエリを作りました。
そのクエリを開くとやはり2度strSplitを通るようです。
Dim i As Integer '追加
Function strSplit(strString As String, strSep As String, nCol As Long) As String
Dim strArray() As String
Dim nArray As Long
i = i + 1 '追加
MsgBox i & "回目" '追加
strArray() = Split(strString, strSep)
nArray = UBound(strArray())
If nCol <= nArray Then
strSplit = strArray(nCol)
Else
'ここは工夫してください
strSplit = strString
End If
End Function
にしたら、やはり2回表示されます。
当方の環境はwin7+access2007です。
No.1
- 回答日時:
VBAでやるとしたら、以下を定義
・"Module1"のような半角英数字のモジュール名に作成・保存すること
・"共通関数"のような日本語名のモジュール名にすると、見つからないエラーになる
Function strSplit(strString As String, strSep as string, nCol as long) as string
dim strArray() as string
dim nArray as long
strArray() = Split(strString, strSep)
nArray = UBound(strArray())
if nCol <= nArray then
strSplit = strArray(nCol)
else
’ここは工夫してください
strSplit = strString
end if
End function
で、クエリの列として上記の関数名で呼ぶ
SELECT strSplit([テーブル1]![フィールド1], "/", 1) as test
FROM テーブル1;
仕組みは全くわかりませんができました。
Functionの所にブレークポイントを設置してクエリを開いたら、2回実行されるようですがなぜなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) VBA シート上にドロップダウンリストを作り、予め指定値をセットしたいのですが 1 2023/03/25 15:15
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Accessフィールド分割
その他(データベース)
-
特定の文字列で列を区切るには?
その他(データベース)
-
ACCESS VBAのSplit()関数の使用方法
Visual Basic(VBA)
-
-
4
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
5
Access で 特定の文字の個数をしりたい
Access(アクセス)
-
6
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
7
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
8
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
9
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
10
「#エラー」の回避
Access(アクセス)
-
11
どこにもフォーカスを当てたくない
Access(アクセス)
-
12
Accessのリンク先を相対パスにしたい
その他(データベース)
-
13
Access サブフォームでの選択行の取得
その他(データベース)
-
14
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
15
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
16
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
17
MS-Accessのレコード内のフィールドを分割し、複数のレコードにする方法について教えてください。
Access(アクセス)
-
18
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
19
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
20
<ACCESS>別テーブルのレコードのテキストデータが中に含まれるレコードを抽出する方法を教えてください
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access「レコードが削除されま...
-
ACCESSで行数指定(5万行目~8...
-
クロス集計クエリの結果をテー...
-
accessでクエリの結果だけをリ...
-
アクセスのクエリでSplit関数は...
-
アクセス:クエリの結合とリレ...
-
access テーブル作成クエリでテ...
-
エクセル複数シートをアクセス...
-
Access 各カラムの中に半角カ...
-
Accessのクロス集計→テーブル作...
-
教えてください! アクセスのac...
-
access インポート時、既にある...
-
ACCESSでの重複レコードの削除
-
デザインビューにてテーブルが...
-
ACCESSでアンケート調査→回答ごとの...
-
ACCESSのクエリでDlookup関数・...
-
Accessでテキストが合体できる...
-
Accessクエリで分類ごとの累計...
-
ACCESSのクエリ計算
-
Access 末尾に0を追加したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クロス集計クエリの結果をテー...
-
デザインビューにてテーブルが...
-
アクセス 項目毎にデータを横...
-
クエリのデータをテーブルに入...
-
accessでクエリの結果だけをリ...
-
アクセス:クエリの結合とリレ...
-
教えてください! アクセスのac...
-
Access「レコードが削除されま...
-
更新不可能なクエリに対して更...
-
アクセス クロス集計クエリ→テ...
-
アクセスのクエリでSplit関数は...
-
access インポート時、既にある...
-
ACCESSで行数指定(5万行目~8...
-
テンポラリファイルのための空...
-
Access DAOのExecuteメソッドの...
-
ACCESSでの重複レコードの削除
-
Accessのクロス集計→テーブル作...
-
Access2010「クエリが複雑すぎ...
-
access テーブル作成クエリでテ...
-
ACCESS2000 クエリをテーブル化...
おすすめ情報