Tampilkan postingan dengan label VBA. Tampilkan semua postingan
Tampilkan postingan dengan label VBA. Tampilkan semua postingan

MEMASTIKAN NUMBER TIDAK ERROR PADA SQL COMMAND

Pada Access, jika urusan tarik dan simpan data ditangani oleh Access sendiri ("Access way") maka no problem. Problemnya akan muncul jika urusan simpan data itu kita handle sendiri, misalnya dengan perintah SQL.

Salah satu problem adalah ketika kita menyimpan (insert) angka ke dalam field, padahal angka ada juga yang mengandung nilai desimal, atau tidak mengandung nilai angka alias bernilai Null.

Angka yang mengandung desimal bisa jadi problem karena angka tersebut akan dikonversi menjadi string, termasuk tanda desimalnya. Pada Regional Setting Windows yang menggunakan Format Indonesian, tanda desimal adalah koma (,). Tanda koma ini sama dengan tanda pemisah list pada perintah SQL. Tentu saja string perintah SQL-nya akan menjadi salah!

Berikut ini adalah sebuah function untuk memastikan string dari angka selalu kompatibel dengan perintah SQL, yaitu mengubah tanda koma (tanda desimal) menjadi tanda titik. Function ini pun sekaligus memberikan teks Null pada nilai Null sehingga tidak menjadi kosong.

Public Function NC(ByVal pNumber)
    If IsNull(pNumber) Then
        NC = "Null"
    ElseIf InStr(pNumber, ",") Then
        NC = Replace(pNumber, ",", ".")
    Else
        NC = pNumber
    End If
End Function

Simpan function di atas pada sebuah modul umum (General Module atau Standard Module).

Cara pakainya seperti ini:

tSql = "UPDATE tbl_Penjualan_dtl SET Diskon_1=" & NC(tDiskon2) & " WHERE (" & whr & ")"
DoCmd.RunSql tSql

Pada perintah SQL di atas, variabel tDiskon2 mungkin saja mengandung nilai desimal atau tidak mengandung nilai angka alias bernilai Null. Dengan function NC kita tidak perlu ragu lagi dengan format nilai pada variabel tersebut.

Demikian cara sederhana ini, semoga bermanfaat.

(Jangan lupa beri komen ya biar posting ini lebih populer di mesin pencari, thanks).


Event Sequence

Source: https://sourcedaddy.com/ms-access/event-sequence.html

Agar mudah dicari kembali, saya taruh di RumahAccess.

Sometimes even a fairly simple action on the part of the user raises multiple events in rapid succession. As an example, every time the user presses a key on the keyboard, the KeyDown, KeyPress, and KeyUp events are raised. Similarly, pressing the left mouse button fires the MouseDown and MouseUp events, as well as a Click event. It's your prerogative as a VBA developer to decide which events you program in your Access applications.

Events don't occur randomly. Events actually fire in a predictable fashion, depending on which control is raising the events. Sometimes the trickiest aspect of working with events is keeping track of the order in which events occur. It may not be intuitive, for example, that the Enter event occurs before the GotFocus event (see Table 12.2) or that the KeyDown event occurs before the KeyPress event (see Table-3).

What You Can Do with Datasheets

Cukup menarik artikel ini, jadi saya taruh di sini agar mudah mencari kembali.

Membahas apa yang bisa dilakukan dengan datasheet. yang menarik di VBA nya, seperti bagaimana menyembunyikan kolom dan menampilkannya kembali dengan VBA.

Simak aslinya:
https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2003/aa217449(v=office.11)


Sharing UDF: fDateDiff

Fungsi di bawah bisa dipergunakan untuk semua jenis perhitungan yang melibatkan beda jarak waktu antara dua kejadian.

Berikut functionnya.