(16/01/2020, 17:30)berduş yazdı: üzerinde çalışabileceğimiz bir şablon olması çözüm bulmayı kolaylaştırır
gerçek veriler olmasına gerek yok ama çalışmanızı anlayabilmemiz için önemli
resimden anladığım sadece 4 verinin olduğu bir excelden accesse aktarmak.
doğru mu anlamışım sayfada sadece 4 veri mi var?
Aynen hocam
Excel hücrelerini Tabloya yazdırmak, bu tür basit bir proje üzerinde çalışma yapılabilir efendim
(16/01/2020, 16:27)Myalim yazdı: (16/01/2020, 15:49)ferdiqq yazdı: https://accesstr.net/konu-excelden-veri-...t=excelden
ÇOK GÜZEL BİR ÖRNEK İKİNCİ VERDİĞİ HATALAR GİDERİLDİ YAZAN ÖRNEĞİ İNDİRİP BAKABİLİRSEN İŞİNE YARAYABİLİR.
Hacam bu örneği denedim ama maalesef istediğim bu değil , buton kod yazarak excelden aktarım yapıyorum ama esas istediğim, Excel belgesindeki istediğim hücreleri çözümleyerek tabloda istediğim alana yazdırmak. yani A1 Hücresi- Tablo da kimlikNo alanına yazsın. Yani Excel de veri sayfası gibi düzenlediğim de sıkıntı yok ama, orjinal halinde veriler farklı farklı hücrelerde.
Kardeşim tablondaki alan isimlerinin aynısı olacak şekilde. (kimlik id grek yok) örneğin. id, ad, soyad, tel vs. .. Excelde de en başa yap ama id için yapma
excelde ad,soyad,te vs. olacak (id) hariç. verilerin sıralamalırını aynı hale getir . aktarmada sorun çıkmaz. sayısal verilerde giriş maskesi varsa onada dikkat etmek gerekir.
bu şekilde alması gerekiyor..
eski verilerin üzerine yazıyor. komple güncellesin diyorsan mesela exceli webden alıp üzerinde düzenleme yapıp sadece bu verilen acceste olmasını istersen aktarma butonu önce runsql.delele sorgusu ile eskiyi siler yenisini eklemiş olursun. şişme yapmaz. UZMAN HOCALARIMDAN KENDİLERİ VARKEN CEVAP YAZDIĞIM İÇİN KUSURUMUZA BAKMAMALARINI RİCA EDİYORUM..
resimdeki isimlendirmeleri kullandım, tüm alanları metin olarak ayarladım
dilerim işinize yarar
iyi çalışmalar
Not : Çalışmanıza referans eklemeniz gerekebilir
txtDosyaAdres = "D:\AKTAR.xlsx" ' Buraya dosya adresi ve adı yazılacak
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConn As String, sConn2 As String
Dim degerler, sSql As String
degerler = ""
sSql = "select * from [Sayfa1$]" '
sConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & txtDosyaAdres
sConn2 = ";Extended Properties=""Excel 12.0 Xml;HDR=No"";"
Set con = New ADODB.Connection
con.Open sConn & sConn2
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open sSql, con, adOpenKeyset 'rather use this so RecordCount works
If rs.RecordCount = 0 Then Exit Sub
rs.MoveLast
rs.MoveFirst
Do Until rs.EOF = True
degerler = degerler & ", '" & rs.Fields(0) & "'"
rs.MoveNext
Loop
degerler = Mid(degerler, 2)
sSql = " insert into [Veriler1] (kimlikNo, ad, soyAd, babaAd) " & _
" values (" & degerler & ")"
CurrentDb.Execute sSql
Set rs = Nothing
(16/01/2020, 18:32)ferdiqq yazdı: (16/01/2020, 16:27)Myalim yazdı: (16/01/2020, 15:49)ferdiqq yazdı: https://accesstr.net/konu-excelden-veri-...t=excelden
ÇOK GÜZEL BİR ÖRNEK İKİNCİ VERDİĞİ HATALAR GİDERİLDİ YAZAN ÖRNEĞİ İNDİRİP BAKABİLİRSEN İŞİNE YARAYABİLİR.
Hacam bu örneği denedim ama maalesef istediğim bu değil , buton kod yazarak excelden aktarım yapıyorum ama esas istediğim, Excel belgesindeki istediğim hücreleri çözümleyerek tabloda istediğim alana yazdırmak. yani A1 Hücresi- Tablo da kimlikNo alanına yazsın. Yani Excel de veri sayfası gibi düzenlediğim de sıkıntı yok ama, orjinal halinde veriler farklı farklı hücrelerde.
Kardeşim tablondaki alan isimlerinin aynısı olacak şekilde. (kimlik id grek yok) örneğin. id, ad, soyad, tel vs. .. Excelde de en başa yap ama id için yapma
excelde ad,soyad,te vs. olacak (id) hariç. verilerin sıralamalırını aynı hale getir . aktarmada sorun çıkmaz. sayısal verilerde giriş maskesi varsa onada dikkat etmek gerekir.
bu şekilde alması gerekiyor..
eski verilerin üzerine yazıyor. komple güncellesin diyorsan mesela exceli webden alıp üzerinde düzenleme yapıp sadece bu verilen acceste olmasını istersen aktarma butonu önce runsql.delele sorgusu ile eskiyi siler yenisini eklemiş olursun. şişme yapmaz. UZMAN HOCALARIMDAN KENDİLERİ VARKEN CEVAP YAZDIĞIM İÇİN KUSURUMUZA BAKMAMALARINI RİCA EDİYORUM..
biliyorum bu yöntemi fakat
Excel sayfamda oynama yapmama lazım.teşekkürler
(16/01/2020, 18:54)berduş yazdı: resimdeki isimlendirmeleri kullandım, tüm alanları metin olarak ayarladım
dilerim işinize yarar
iyi çalışmalar
Not : Çalışmanıza referans eklemeniz gerekebilir
txtDosyaAdres = "D:\AKTAR.xlsx" ' Buraya dosya adresi ve adı yazılacak
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConn As String, sConn2 As String
Dim degerler, sSql As String
degerler = ""
sSql = "select * from [Sayfa1$]" '
sConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & txtDosyaAdres
sConn2 = ";Extended Properties=""Excel 12.0 Xml;HDR=No"";"
Set con = New ADODB.Connection
con.Open sConn & sConn2
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open sSql, con, adOpenKeyset 'rather use this so RecordCount works
If rs.RecordCount = 0 Then Exit Sub
rs.MoveLast
rs.MoveFirst
Do Until rs.EOF = True
degerler = degerler & ", '" & rs.Fields(0) & "'"
rs.MoveNext
Loop
degerler = Mid(degerler, 2)
sSql = " insert into [Veriler1] (kimlikNo, ad, soyAd, babaAd) " & _
" values (" & degerler & ")"
CurrentDb.Execute sSql
Set rs = Nothing
En kısa zamanda deneyip geri dönüş yapacağım Teşekkürler.
(16/01/2020, 18:54)berduş yazdı: resimdeki isimlendirmeleri kullandım, tüm alanları metin olarak ayarladım
dilerim işinize yarar
iyi çalışmalar
Not : Çalışmanıza referans eklemeniz gerekebilir
txtDosyaAdres = "D:\AKTAR.xlsx" ' Buraya dosya adresi ve adı yazılacak
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConn As String, sConn2 As String
Dim degerler, sSql As String
degerler = ""
sSql = "select * from [Sayfa1$]" '
sConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & txtDosyaAdres
sConn2 = ";Extended Properties=""Excel 12.0 Xml;HDR=No"";"
Set con = New ADODB.Connection
con.Open sConn & sConn2
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open sSql, con, adOpenKeyset 'rather use this so RecordCount works
If rs.RecordCount = 0 Then Exit Sub
rs.MoveLast
rs.MoveFirst
Do Until rs.EOF = True
degerler = degerler & ", '" & rs.Fields(0) & "'"
rs.MoveNext
Loop
degerler = Mid(degerler, 2)
sSql = " insert into [Veriler1] (kimlikNo, ad, soyAd, babaAd) " & _
" values (" & degerler & ")"
CurrentDb.Execute sSql
Set rs = Nothing
Size artık
Access ÜSTADI demek istiyorum,hem de tam istediğim gibi olu hemde neffis oldu.çok çok teşekkür ediyorum.
(16/01/2020, 18:54)berduş yazdı: resimdeki isimlendirmeleri kullandım, tüm alanları metin olarak ayarladım
dilerim işinize yarar
iyi çalışmalar
Not : Çalışmanıza referans eklemeniz gerekebilir
txtDosyaAdres = "D:\AKTAR.xlsx" ' Buraya dosya adresi ve adı yazılacak
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConn As String, sConn2 As String
Dim degerler, sSql As String
degerler = ""
sSql = "select * from [Sayfa1$]" '
sConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & txtDosyaAdres
sConn2 = ";Extended Properties=""Excel 12.0 Xml;HDR=No"";"
Set con = New ADODB.Connection
con.Open sConn & sConn2
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open sSql, con, adOpenKeyset 'rather use this so RecordCount works
If rs.RecordCount = 0 Then Exit Sub
rs.MoveLast
rs.MoveFirst
Do Until rs.EOF = True
degerler = degerler & ", '" & rs.Fields(0) & "'"
rs.MoveNext
Loop
degerler = Mid(degerler, 2)
sSql = " insert into [Veriler1] (kimlikNo, ad, soyAd, babaAd) " & _
" values (" & degerler & ")"
CurrentDb.Execute sSql
Set rs = Nothing
Merhaba.Telefondan kodları incelediğim kadarıyla alttaki no yerine yes olması gerekmiyor mu?
HDR=No
Birde reference eklememek için new yerine alttaki gibi olmalı.
Kodları kafadan yazdığım için hata olabilir.
Ve en sonda con.close ile kapatılmalı
Dim con as object
Dim rs as object
Set con= createobject("Adodb.Connection")
Set rs = createobject("adodb.recordset")
(16/01/2020, 19:35)feraz yazdı: (16/01/2020, 18:54)berduş yazdı: resimdeki isimlendirmeleri kullandım, tüm alanları metin olarak ayarladım
dilerim işinize yarar
iyi çalışmalar
Not : Çalışmanıza referans eklemeniz gerekebilir
txtDosyaAdres = "D:\AKTAR.xlsx" ' Buraya dosya adresi ve adı yazılacak
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConn As String, sConn2 As String
Dim degerler, sSql As String
degerler = ""
sSql = "select * from [Sayfa1$]" '
sConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & txtDosyaAdres
sConn2 = ";Extended Properties=""Excel 12.0 Xml;HDR=No"";"
Set con = New ADODB.Connection
con.Open sConn & sConn2
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open sSql, con, adOpenKeyset 'rather use this so RecordCount works
If rs.RecordCount = 0 Then Exit Sub
rs.MoveLast
rs.MoveFirst
Do Until rs.EOF = True
degerler = degerler & ", '" & rs.Fields(0) & "'"
rs.MoveNext
Loop
degerler = Mid(degerler, 2)
sSql = " insert into [Veriler1] (kimlikNo, ad, soyAd, babaAd) " & _
" values (" & degerler & ")"
CurrentDb.Execute sSql
Set rs = Nothing
Merhaba.Telefondan kodları incelediğim kadarıyla alttaki no yerine yes olması gerekmiyor mu?
HDR=No
Birde reference eklememek için new yerine alttaki gibi olmalı.
Kodları kafadan yazdığım için hata olabilir.
Ve en sonda con.close ile kapatılmalı
Dim con as object
Dim rs as object
Set con= createobject("Adodb.Connection")
Set rs = createobject("adodb.recordset")
Teşekkürler ilginiz için "Berduş" hocamın kodları işimi çözdü.