Hai Heru, Koneksi ke Ms Access adalah dengan provider jet oledb atau ace oledb atau dengan driver odbc untul Ms Access. Provider oledb tidak memiliki fungsi replace. Itu sebabnya koneksi dengan provider oledb yang query-nya berisi fungsi replace akan error, karena tidak ada fungsi tersebut dalam provider yg digunakan.
Ms Access memanfaatkan fungsi replace milik VBA (VBA for Access). Jadi, di dalam Ms Access sendiri, fungsi replace bisa digunakan dalam query. Dengan query berparameter yang dibuat dan disimpan dalam Ms Access yang berisi fungsi replace pun juga tidak memungkinkan digunakan dalam koneksi dari luar. (Tapi untuk yang satu ini, moga2 kliru. Moga2 abang2 yang master Access bisa membantu agar dugaan saya kliru.) Jika di dalam Ms Access juga tidak dapat menggunakan fungsi replace milik VBA, maka bisa dibuatkan UDF dalam VBA nya berupa proses replace yang memanfaatkan fungsi replace milik VBA. UDF ini yang digunakan dalam query di dalam Ms Access. Jadi ada beberapa opsi, yaitu : 1. Ganti fungsi replace dengan gabungan fungsi-fungsi lain, walau query nya bisa jadi panjang tidak karuan. 2. Jika datatype yang diproses adalah numerik, coba susun ekspresi berupa operasi matematis untuk me-replace. 3. Andai dugaan saya tentang query berisi replace dengan parameter adalah kliru, manfaatkan query berparameter. 4. Membuat UDF yang berisi fungsi replace di Ms Access, lalu buat query dan simpan di Ms Access, kemudian koneksi ke query tersebut. Untuk hal ini, akan dibuat query dalam Ms Access yang berparameter agar dinamis atau yang statis (tanpa parameter) bisa dimanfaatkan. 5. Daripada meng-update nilai item pokok, mungkin lebih baik membahkan kolom flag status terpakai atau tidak di tabel dalam Ms Access. Jadi query update untuk ubah flag disertai query insert into item baru yang dimaksudkan sebagai item yang akan aktif dipakai. Wassalamu'alaikum wr wb Kid Sent from my smart enough phone > On Oct 24, 2015, at 08:23, Heru Safrudin [email protected] [belajar-excel] > <[email protected]> wrote: > > Kalo pake REPLACE Tetap error ; > ' Undefined function 'REPLACE' in expression' > > Padahal jika pake cara lain dibawah ini berhasil > CON.Execute "update STOCK SET JOB=" & ganti & " & mid(JOB," & Len(ganti) + 1 > & ") WHERE JOB LIKE '%3333%'" > > Mohon penjelasannya > > Terima kasih > Wassalamu 'alaikum wr. wb., > > Heru Safrudin > > Pada 2015 10 23 15:12, "'Mr. Kid' [email protected] [belajar-excel]" > <[email protected]> menulis: >> >> Coba alamat lengkap databasenya ditulis dengan baik. >> Bila object koneksi adalah mengkoneksi database tersebut, maka bisa tidak >> perlu menyebut nama databasenya. >> >> >> >> 2015-10-23 14:30 GMT+07:00 Heru Safrudin [email protected] >> [belajar-excel] <[email protected]>: >>> >>> Terima kasih atas ilmu yg sangat bermanfaat dari Mr... >>> Sekarang bagaimana cara mengubah sebagian teks dalam database sbb: >>> >>> CON.Execute "update `coba.MDB`.STOCK SET JOB=REPLACE(JOB,'2222','3333') >>> WHERE JOB='11112222'" >>> >>> Maaf contoh diatas kok tidak bisa jalan >>> Mohon pencerahannya >>> >>> Terima kasih >>> >>> Wassalamu 'alaikum wr. wb., >>> >>> Heru Safrudin >>> > >

