31.7.15

Improve Integration Access to MySQL

Berikut ini beberapa tips dan solusi dari MySQL untuk pengguna MS Access.
Saya kutipkan langsung sesuai aslinya untuk menjadi dokumentasi di sini.

To improve the integration between Microsoft Access and MySQL through Connector/ODBC:
  • For all versions of Access, enable the Connector/ODBC Return matching rows option. For Access 2.0, also enable the Simulate ODBC 1.0 option.
  • Include a TIMESTAMP column in all tables that you want to be able to update. For maximum portability, do not use a length specification in the column declaration (which is unsupported within MySQL in versions earlier than 4.1).
  • Include a primary key in each MySQL table you want to use with Access. If not, new or updated rows may show up as #DELETED#.
  • Use only DOUBLE float fields. Access fails when comparing with single-precision floats. The symptom usually is that new or updated rows may show up as #DELETED# or that you cannot find or update rows.
  • If you are using Connector/ODBC to link to a table that has a BIGINT column, the results are displayed as #DELETED#. The work around solution is:
    • Have one more dummy column with TIMESTAMP as the data type.
    • Select the Change BIGINT columns to INT option in the connection dialog in ODBC DSN Administrator.
    • Delete the table link from Access and re-create it.
    Old records may still display as #DELETED#, but newly added/updated records are displayed properly.
  • If you still get the error Another user has changed your data after adding a TIMESTAMP column, the following trick may help you:
    Do not use a table data sheet view. Instead, create a form with the fields you want, and use that form data sheet view. Set the DefaultValue property for the TIMESTAMP column to NOW(). Consider hiding the TIMESTAMP column from view so your users are not confused.
  • In some cases, Access may generate SQL statements that MySQL cannot understand. You can fix this by selecting "Query|SQLSpecific|Pass-Through" from the Access menu.
  • On Windows NT, Access reports BLOB columns as OLE OBJECTS. If you want to have MEMO columns instead, change BLOB columns to TEXT with ALTER TABLE.
  • Access cannot always handle the MySQL DATE column properly. If you have a problem with these, change the columns to DATETIME.
  • If you have in Access a column defined as BYTE, Access tries to export this as TINYINT instead of TINYINT UNSIGNED. This gives you problems if you have values larger than 127 in the column.
  • If you have very large (long) tables in Access, it might take a very long time to open them. Or you might run low on virtual memory and eventually get an ODBC Query Failed error and the table cannot open. To deal with this, select the following options:
    • Return Matching Rows (2)
    • Allow BIG Results (8).
    These add up to a value of 10 (OPTION=10).
Some external articles and tips that may be useful when using Access, ODBC and Connector/ODBC:
Sumber: http://dev.mysql.com/doc/connector-odbc/en/connector-odbc-usagenotes-apptips-microsoft-access.html

Write Conflict Access - MySQL

Jika sebelumnya saya sudah menginformasikan soal Write Conflict ketika migrasi database Access ke SQL Server, jika anda melakukan migrasi ke MySQL, Write Conflict tidak hanya muncul karena field bertipe bit yang bernilai Null, tetapi bisa terjadi karena berbagai sebab yang lain. Pengalaman saya, setelah saya mengatasi field bit dan keharusan adanya field bertipe TimeStamp (hasil searching kesana-kemari), Write Conflict masih muncul juga. Akhirnya ada yang memberi solusi, yaitu pada kotak ODBC, pilih opsi "Return matched rows instead of affected rows".

Oleh karena saya melakukan koneksi secara code VBA, saya tidak tahu bagaimana mengatur opsi tersebut dalam connection string. Untunglah ada yang memberi solusi untuk menggunakan "Option=4196355". Alhamdulillah, Write Conflict teratasi, walaupun saya belum tahu apakah opsi pada kotak ODBC tersebut sama dengan "Option=4196355".

Mudah-mudahan membantu.

17.6.15

Write Conflict Ketika Mengedit Record Table SQL Server

Ketika kita melakukan migrasi dari database Access ke SQL Server, ada hal kecil yang mengesalkan. Field bertipe Yes/No pada Access akan dikonversi menjadi bertipe "bit" pada SQL Server, dan jika field ini berisi Null maka pada Access akan ditampilkan sebagai 0.

Problem muncul ketika kita mengedit record, kita tidak bisa menyimpan record tersebut karena akan muncul pesan "Write Conflict".

Solusinya, field bertipe bit harus not allow Null dan diberi nilai default 0.

Good luck!

5.6.14

Tidak bisa menyimpan perubahan disain table pada SQL Server Management Studio

Saya lupa lagi kenapa saya tidak bisa menyimpan perubahan disain table yang saya lakukan pada SQL Server Management Studio. Dasar saya memang lebih sering (suka) mendisain table menggunakan MS Access. Nah, mengantisipasi saya lupa lagi, saya tulis di sini. Mudah-mudahan berguna juga bagi teman-teman yang mengalami hal yang sama.

Way out nya ternyata pada Options.
Klik menu Tools (pada Management Studio), lalu klik Options.
Hilankan tanda check pada opsi "Prevent saving changes that require table re-creation".


Selesai :)

7.5.14

Menonaktifkan Edge Swipes pada Touchpad Lenovo

Saya menggunakan Windows 8.1 pada laptop Lenovo T420s. Kadang-kadang jari saya tidak sengaja menyeret touchpad dari pinggir kanan sehingga muncul Charms Bar. Hal ini cukup mengesalkan karena window document yang aktif menjadi non aktif dan pekerjaan menjadi terinterupsi.



Setelah nyari solusi sana-sini, ternyata caranya mudah saja.


  1. Tampilkan Control Panel, lalu klik "Mouse" (saya gunakan tampilan classic / small icon agar tampil semua).
  2. Pada Mouse Properties, klik tab "UltraNav".
  3. Pada kotak "TouchPad", klik tombol "Settings".
  4. Pada kotak dialog TouchPad Properties, tampilkan item di bawah "Application Gestures".
  5. Klik "Edge Swipes".
  6. Hilangkan tanda centang pada opsi "Enable Edge Swipes".
  7. Klik "Apply" atau langsung klik "OK".



Sekarang bagaimana pun saya menyeret jari pada TouchPad tidak akan menampilkan Charms Bar.
Jika perlu, untuk menampilkan Charms Bar, saya tinggal menekan tombol Windows+C.

Semoga bermanfaat.

(Silahkan tinggalkan komentar atau pendapat anda, terima kasih.)