C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: OleDbで「式に未定義関数 'Replace' が...


(過去ログ 16 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■6028 / inTopicNo.1)  OleDbで「式に未定義関数 'Replace' が...
  
□投稿者/ もっちー (1回)-(2007/07/30(Mon) 16:12:54)

分類:[VB.NET/VB2005] 

OleDbCommandのExecuteNonQueryを利用して
Access MDBのテーブルを更新しようとしています。

そこで以下のようなコードを書き実行したところ
「式に未定義関数  'Replace' があります。」表示されてしまいます。

回避策をご存知の方がいれば
ヒントをください。

 
'以下、サンプルコード(VB7.1 コンソールアプリ)
Imports System
Imports System.Data
Imports System.Data.OleDb

Module Module1
    Const sConnection As String = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=D:\1.mdb;"
    Const sql1 As String = "UPDATE テーブル SET テーブル.なまえ = " + _
                "Replace(テーブル.なまえ,""望月"",""もっちー"");"

    Sub Main()

        Dim cn As OleDbConnection = Nothing
        Try
            cn = New OleDbConnection(sConnection)
            cn.Open()
            Dim cmd As OleDbCommand = Nothing
            Try
                cmd = New OleDbCommand(sql1, cn)
                cmd.ExecuteNonQuery()
            Finally
                If Not cmd Is Nothing Then cmd.Dispose()
            End Try
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        Finally
            If Not cn Is Nothing Then
                cn.Close()
                cn.Dispose()
            End If
        End Try
    End Sub

End Module

引用返信 編集キー/
■6032 / inTopicNo.2)  Re[1]: OleDbで「式に未定義関数 'Replace' が...
□投稿者/ HIRO (77回)-(2007/07/30(Mon) 16:39:39)
HIRO さんの Web サイト
No6028 (もっちー さん) に返信
> OleDbCommandのExecuteNonQueryを利用して
> Access MDBのテーブルを更新しようとしています。
>
> そこで以下のようなコードを書き実行したところ
> 「式に未定義関数 'Replace' があります。」表示されてしまいます。
>
> 回避策をご存知の方がいれば
> ヒントをください。
>
>  
> '以下、サンプルコード(VB7.1 コンソールアプリ)
> Imports System
> Imports System.Data
> Imports System.Data.OleDb
>
> Module Module1
> Const sConnection As String = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=D:\1.mdb;"
> Const sql1 As String = "UPDATE テーブル SET テーブル.なまえ = " + _
> "Replace(テーブル.なまえ,""望月"",""もっちー"");"
>
> Sub Main()
>
> Dim cn As OleDbConnection = Nothing
> Try
> cn = New OleDbConnection(sConnection)
> cn.Open()
> Dim cmd As OleDbCommand = Nothing
> Try
> cmd = New OleDbCommand(sql1, cn)
> cmd.ExecuteNonQuery()
> Finally
> If Not cmd Is Nothing Then cmd.Dispose()
> End Try
> Catch ex As Exception
> Console.WriteLine(ex.Message)
> Finally
> If Not cn Is Nothing Then
> cn.Close()
> cn.Dispose()
> End If
> End Try
> End Sub
>
> End Module

AccessでReplace関数使えましたっけ?
使えなかったような気がします。
引用返信 編集キー/
■6036 / inTopicNo.3)  Re[2]: OleDbで「式に未定義関数 'Replace' が...
□投稿者/ もっちー (2回)-(2007/07/30(Mon) 16:49:12)
No6032 (HIRO さん) に返信
> ■No6028 (もっちー さん) に返信
>>OleDbCommandのExecuteNonQueryを利用して
>>Access MDBのテーブルを更新しようとしています。
>>
>>そこで以下のようなコードを書き実行したところ
>>「式に未定義関数 'Replace' があります。」表示されてしまいます。
> AccessでReplace関数使えましたっけ?
> 使えなかったような気がします。

かいとうありがとうございます。

Replace関数はAccessのクエリーのなかでいつも使っています。

今回のSQLはAccessの更新クエリーで動作を確認した
ものを実行しようとしています。

引用返信 編集キー/
■6038 / inTopicNo.4)  Re[3]: OleDbで「式に未定義関数 'Replace' が...
□投稿者/ HIRO (78回)-(2007/07/30(Mon) 16:56:49)
HIRO さんの Web サイト
No6036 (もっちー さん) に返信
> ■No6032 (HIRO さん) に返信
>>■No6028 (もっちー さん) に返信
> >>OleDbCommandのExecuteNonQueryを利用して
> >>Access MDBのテーブルを更新しようとしています。
> >>
> >>そこで以下のようなコードを書き実行したところ
> >>「式に未定義関数 'Replace' があります。」表示されてしまいます。
>>AccessでReplace関数使えましたっけ?
>>使えなかったような気がします。
>
> かいとうありがとうございます。
>
> Replace関数はAccessのクエリーのなかでいつも使っています。
>
> 今回のSQLはAccessの更新クエリーで動作を確認した
> ものを実行しようとしています。
>

同様の問題が下記で解決しているようです。
参考にしてみてはどうでしょう。
http://www.accessclub.jp/bbs2/0036/beginter11871.html
引用返信 編集キー/
■6042 / inTopicNo.5)  Re[4]: OleDbで「式に未定義関数 'Replace' が...
□投稿者/ もっちー (3回)-(2007/07/30(Mon) 17:11:58)
2007/07/30(Mon) 17:16:16 編集(投稿者)

> 同様の問題が下記で解決しているようです。
> 参考にしてみてはどうでしょう。
> http://www.accessclub.jp/bbs2/0036/beginter11871.html

ありがとうございます。

VBE6.DLL(Visual Basic Design Time Environment) ですか...
私のマシンの中にあるのはバージョン「6.5.10.20」ですね。

すっかり忘れていましたが
開発環境は(WindowsXPSP2,Access2003,VS.NET2003)です。

もう少し内容を読んでみます。
引用返信 編集キー/
■6058 / inTopicNo.6)  Re[5]: OleDbで「式に未定義関数 'Replace' が...
□投稿者/ もっちー (4回)-(2007/07/31(Tue) 09:33:16)
アップデート等を施してもうまくいきませんでした。

XPSP2のクリーン環境を準備して
セットアップして確かめてみようと思います。

こういう時ありがたいですよね、Virtual PC
引用返信 編集キー/
■6105 / inTopicNo.7)  Re[6]: OleDbで「式に未定義関数 'Replace' が...
□投稿者/ もっちー (5回)-(2007/08/01(Wed) 10:30:28)
クリーン環境にセットアップして確認してみましたが
状況は変わりませんでした。

残念ながら「未定義関数は使用できない」ようですね
ありがとうございました。解決していませんがCLOSEにします。

*環境
-WindowsXPSP2+WindowsUpdate+dotnetfx
-サンプルコードから作成したアプリ
-ファイル:1.mdb
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -