あるテーブルの、あるカラムにある、「:」で区切られた文字列を
:で分けるクエリを組んでいます。
【クエリ】
SELECT MySplit(tablevalue,":",0) AS 式1, MySplit(tablevalue,":",1) AS 式2, MySplit(tablevalue,":",2) AS 式3, MySplit(tablevalue,":",3) AS 式4
FROM Shouhin;
【Module1】
Function MySplit(t As String, s As String, i As Integer) As String
Dim sArray() As String
sArray = Split(t, s)
If i <= UBound(sArray) Then
MySplit = sArray(i)
Else
MySplit = ""
End If
End Function
このクエリは成功しておりますが、実はこのクエリの結果に、テーブルの中の
他のカラムの文字列を、そのまま表示させたく、デザインビューで
普通に追加すると、『集計関数の一部として指定された式'~'を含んでいないクエ
リを実行しようとしました』となってしまい、エラーとなってしまいます。
なぜでしょうか?
また、解決策をお教えください。
よろしく、お願いいたします。
クエリビューに切り替えると、Accessが余計なおせっかいで、
また勝手にいらない文字を追加してしまったりするので、
引き続きSQLビューで書いてください
以下、横に長くなるので適当に改行してます
保存するとAccessがおせっかいにも横一列にしてしまいますが、
それは気にする必要ないです
さて、もっとも手抜きな例(分割前のtablevalueまで出力されちゃいます)
SELECT * , MySplit(tablevalue,":",0) AS 式1 , MySplit(tablevalue,":",1) AS 式2 , MySplit(tablevalue,":",2) AS 式3 , MySplit(tablevalue,":",3) AS 式4 FROM Shouhin;
必要な列を指定する例(必要なカラムの名前を適当にいれてやれば良いです)
SELECT カラム名1 , カラム名2 , MySplit(tablevalue,":",0) AS 式1 , MySplit(tablevalue,":",1) AS 式2 , MySplit(tablevalue,":",2) AS 式3 , MySplit(tablevalue,":",3) AS 式4 , カラム名3 , カラム名4 FROM Shouhin;
クエリビューに切り替えると、Accessが余計なおせっかいで、
また勝手にいらない文字を追加してしまったりするので、
引き続きSQLビューで書いてください
以下、横に長くなるので適当に改行してます
保存するとAccessがおせっかいにも横一列にしてしまいますが、
それは気にする必要ないです
さて、もっとも手抜きな例(分割前のtablevalueまで出力されちゃいます)
SELECT * , MySplit(tablevalue,":",0) AS 式1 , MySplit(tablevalue,":",1) AS 式2 , MySplit(tablevalue,":",2) AS 式3 , MySplit(tablevalue,":",3) AS 式4 FROM Shouhin;
必要な列を指定する例(必要なカラムの名前を適当にいれてやれば良いです)
SELECT カラム名1 , カラム名2 , MySplit(tablevalue,":",0) AS 式1 , MySplit(tablevalue,":",1) AS 式2 , MySplit(tablevalue,":",2) AS 式3 , MySplit(tablevalue,":",3) AS 式4 , カラム名3 , カラム名4 FROM Shouhin;
すげえ!!!
ありがとうございました!!
本当に感謝です!
すげえ!!!
2011/11/29 16:30:04ありがとうございました!!
本当に感謝です!