Terima kasih banyak atas sarannya bang Aksan dan MDone...
Best Regard's
Budi Suryadi
Budi Suryadi
Dari: Aksan Kurdin <aksan.kurdin@gmail.com>
Kepada: belajar-access@yahoogroups.com
Dikirim: Minggu, 27 November 2011 9:11
Judul: Re: [belajar-access] Jalankan proses dengan VBA untuk semua record sekaligus
penggunaan blok select case bisa diganti dengan fungsi choose:
function namahari(noHari as integer) as string
namahari = choose(noHari,"Senin","Selasa","Rabu","Kamis","Jumat","Sabtu","Minggu")
end function
calculated field di tabel sebenarnya melanggar normalisasi, tetapi bisa dianggap sebagai view. Jadi tidak perlu lagi buat calculated field di querynya.
aksan kurdin
On 11/25/2011 7:11 PM, Morina Done wrote:
function namahari(noHari as integer) as string
namahari = choose(noHari,"Senin","Selasa","Rabu","Kamis","Jumat","Sabtu","Minggu")
end function
calculated field di tabel sebenarnya melanggar normalisasi, tetapi bisa dianggap sebagai view. Jadi tidak perlu lagi buat calculated field di querynya.
aksan kurdin
On 11/25/2011 7:11 PM, Morina Done wrote:
Bung Bud,kalau byk kondisinya … bisa juga bikin function utk update field di tabelnya lewat DAO.Ini dibawah contoh ya, applicable dengan data "Hari" di email sblmnya. Utk kebutuhan kembangin ndiri ya. Good luck!Function getHaree()Dim rst As DAO.RecordsetDim strHaree As StringSet rst = CurrentDb.OpenRecordset("SELECT TAbsen.TimeIn, TDetail.Hari FROM TAbsen INNER JOIN TDetail ON TAbsen.Nomor = TDetail.Nomor")rst.MoveFirstDo While rst.EOF = FalseSelect Case Weekday(rst!TimeIn)Case Is = 1strHaree = "Sunday"Case Is = 2strHaree = "Monday"Case Is = 3strHaree = "Tuesday"Case Is = 4strHaree = "Wednesday"Case Is = 5strHaree = "Thursday"Case Is = 6strHaree = "Friday"Case Is = 7strHaree = "Saturday"End Selectrst.Editrst!Hari = strHareerst.Updaterst.MoveNextLooprst.CloseSet rst = NothingEnd FunctionTrus di button on click nya tinggal manggil function iniPrivate Sub Command11_Click()getHareeMe.RequeryEnd SubdaaghMDoneFrom: belajar-access@yahoogroups.com [mailto:belajar-access@yahoogroups.com] On Behalf Of budi suryadi
Sent: Thursday, 24 November, 2011 3:03 PM
To: belajar-access@yahoogroups.com
Subject: Bls: [belajar-access] Jalankan proses dengan VBA untuk semua record sekaligusSebelumnya terima kasih atas sarannya bang MDone,
sudah saya coba dan untuk kasus tersebut berhasil dengan cara yg bang MDone sarankan,
saya memang sengaja hasilnya di store ke dalam field krn berikutnya field tersebut akan diproses lagi
tetapi masih ada kendala nih bang, bagaimana klo syarat dan kondisinya cukup banyak, misalkan :
NILAI = IIF (A=1 and B=1 and C=1,"Luar Biasa",IIF((A=1 and B=1 and C=0) or (A=1 and B=0 and C=1) or (A=0 and B=1 and C=0),"Memuaskan",dst..)
saya sudah coba dengan cara yang sama dan dengan cara call procedure tp masih belum berhasil, mohon sarannya...
Best Regard's
Budi Suryadi
Dari: Morina Done <morina.done@yahoo.co.id>
Kepada: belajar-access@yahoogroups.com
Dikirim: Rabu, 23 November 2011 22:39
Judul: RE: [belajar-access] Jalankan proses dengan VBA untuk semua record sekaligusBung Budi;Ini mo ngambil HARI nya si TimeIn kan?Kenapa harus di store ke dalam field? Kalau hanya utk sekedar information TimeIn itu hari apa, kalo bole saran bisa pake unbound saja.Di Hari textbox nya, control source nya di set =[TimeIn] trus format nya dddd (d untuk day, kalau d-nya empat akan menampilkan nama hari secara lengkap) ga pake vba code dan button.Tapi kalau mau di store juga ke dalam field, pake access berapa? Kalau 2010, ada type baru namanya Calculated field, bisa pake itu.Atau, kalo pake 2003 atau masih mau teteup lewat button yang langsung update seluruh recordsnya HARI sesuai dengan hari di TimeIn, bisa pake sql.Di btn on click Code nyaCurrentDb.Execute "UPDATE TAbsen INNER JOIN TDetail ON TAbsen.Nomor = TDetail.Nomor " & _"SET TDetail.Hari = IIf(Weekday([TimeIn])=1,'Sunday',IIf(Weekday([TimeIn])=2,'Monday'," & _"IIf(Weekday([TimeIn])=3,'Tuesday',IIf(Weekday([TimeIn])=4,'Wednesday',IIf(Weekday([TimeIn])=5,'Thursday'," & _"IIf(Weekday([TimeIn])=6,'Friday',IIf(Weekday([TimeIn])=7,'Saturday','')))))))"Me.RequeryBanyak sih jalan menuju roma ….Semoga bermanfaat.MDoneFrom: belajar-access@yahoogroups.com [mailto:belajar-access@yahoogroups.com] On Behalf Of budi suryadi
Sent: Wednesday, 23 November, 2011 4:58 PM
To: belajar-access
Subject: [belajar-access] Jalankan proses dengan VBA untuk semua record sekaligus [1 Attachment][Attachment(s) from budi suryadi included below]Selamat Sore teman-teman access..Saya sedang mencoba membuat database, tetapi menemui kendalaMisalnya saya punya dua buah tabel yang dihubungkan dengan relasi, dan satu buah query yang dibuat dari 2 buah tabel tersebut.Kemudian saya membuat sebuah form dari data query tadi, dengan sebuah button yang berisi perintah berikut :Private Sub Command11_Click()Dim HarTemp As Integer
Dim Bulan As Integer
HarTemp = Weekday([TimeIn])
Select Case HarTemp
Case Is = 1
Hari.Value = "Sunday"
Case Is = 2
Hari.Value = "Monday"
Case Is = 3
Hari.Value = "Tuesday"
Case Is = 4
Hari.Value = "Wednesday"
Case Is = 5
Hari.Value = "Thursday"
Case Is = 6
Hari.Value = "Friday"
Case Is = 7
Hari.Value = "Saturday"
End SelectTgl.Value = DateValue(TimeIn.Value)
Jam.Value = TimeValue(TimeIn.Value)
End SubYang ingin saya tanyakan bagaimana caranya agar ketika button proses diclick, maka perintah tersebut langsung berjalanpada setiap record yang ada, sehingga saya tidak perlu berpindah record lalu klik button, lalu pindah record lagi dan klik button lagi...?Apabila saya coba langsung bikin dengan query alhamdulillah bisa, tapi bagaimana caranya bila dengan code vba seperti di atas ?Untuk lebih jelasnya saya lampirkan contoh databasenya...sebelumnya saya ucapkan terima kasihBest Regard's
Budi Suryadi
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
No comments:
Post a Comment