Oh gitu.

Maksud saya, kenapa tabel tidak dibuat berupa 2 kolom bernama Nomor
(kolom1) dan jawab(kolom2).
Jadi data setiap nomor akan jadi 1 record alias sekali input akan ada
penambahan 50 record.

Wassalam,
Kid.
On Dec 25, 2012 9:18 AM, "Adi" <[email protected]> wrote:

> **
>
>
> kalau yang itu, sudah saya coba pak,dan alhmdlillah sukses. kodenya
> seperti ini:
>
> dim myField as String
> dim myInt as Integer
>
> With rs
> .AddNew
>
> For myInt = 1 To 50
> myField = myField & IIf(IsNull(Range("F" & myInt)) Or Range("F" & myInt) =
> "", "0", Range("F" & myInt))
> Next
>
> .Fields("Jawaban") = myField
> .Update
> End With
>
> --- In [email protected], "Mr. Kid" <mr.nmkid@...> wrote:
> >
> > Sama-sama.
> >
> > Kalau boleh bertanya, apakah mungkin jika tabelnya diubah menjadi
> memiliki
> > kolom Nomor dan Jawaban (2 kolom) saja ?
> >
> > Wassalam,
> > Kid.
> >
> > 2012/12/24 Adi <abduhsuryadi@...>
> >
> > > **
> > >
> > >
> > > Great! it works. Thanks so much Mr. Kid :)
> > >
> > > --- In [email protected], "Mr. Kid" <mr.nmkid@> wrote:
> > > >
> > > > Pak Adi,
> > > >
> > > > Pada bagian :
> > > > rs.AddNew
> > > > *rs!Answer1 *= Range("A1")
> > >
> > > > rs!Answer2 = Range("A2")
> > > > rs!Answer3 = Range("A3")
> > > > 'and soon....
> > > > rs.Update
> > > >
> > > > Coba ubah menjadi :
> > > > dim lIdx as long
> > > > with rs
> > > > .AddNew
> > > > *for lidx =1 to 50
> > > > .fields("Answer" & lidx).value *= Range("A" & lidx).value
> > >
> > > > next lidx
> > > > .Update
> > > > end with
> > > >
> > > > Wassalam,
> > > > Kid.
> > > >
> > > > 2012/12/24 Adi <abduhsuryadi@>
> > > >
> > > > > **
> > >
> > > > >
> > > > >
> > > > > Saya mempunyai database access bernama: jawaban di yang ada di
> folder
> > > > > c:\folder\. dalam database ini ada table namanya: myTable yang
> > > mempunyai
> > > > > lebih dari 50 field. saya namakan field itu:
> jawaban1,jawaban2,jawaban3
> > > > > sampai jawaban50. saya ingin menambahkan data dari excel yang ada
> di
> > > range
> > > > > A1 sampai range A50 table tersebut. dengan perincian:
> > > > > A1 ke jawaban1
> > > > > A2 ke jawaban2
> > > > > A3 ke jawaban3
> > > > > A4 ke jawaban4 dst.
> > > > > Kode saya jadi terlihat seperti di bawah ini:
> > > > >
> > > > > Sub MasukkanData()
> > > > > Dim sSQL As String
> > > > > Dim rs As ADODB.Recordset
> > > > > Dim cn As ADODB.Connection
> > > > >
> > > > > Set cn = New ADODB.Connection
> > > > > cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" &
> > > > > Environ("UserProfile") & "\Desktop\jwb.accdb;Persist Security
> > > Info=False"
> > > > >
> > > > > Set rs = New ADODB.Recordset
> > > > >
> > > > > sSQL = "myTable"
> > > > > rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
> > > > >
> > > > > rs.AddNew
> > > > > rs!Answer1 = Range("A1")
> > > > > rs!Answer2 = Range("A2")
> > > > > rs!Answer3 = Range("A3")
> > > > > 'and soon....
> > > > > rs.Update
> > > > >
> > > > > rs.Close
> > > > >
> > > > > Set rs = Nothing
> > > > > cn.Close
> > > > >
> > > > > Set cn = Nothing
> > > > > End Sub
> > > > >
> > > > > Gimana cara menyederhanakan kode tersebut agar tidak terlalu
> panjang?
> > > > > saya mencoba pakai for next seperti di bawah ini, tapi excel tidak
> mau
> > > > > menerimanya.
> > > > >
> > > > > For i=1 to 40
> > > > > rs!answer & i = range("A" & i)
> > > > > next
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> > >
> >
>
>  
>

Kirim email ke