• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hücreden Al Veritabanında ara istenilen hücreye yaz

Katılım
5 Eylül 2012
Mesajlar
3
Excel Vers. ve Dili
2010 pro
Öncelikle herkeze merhaba aranıza, excel ve vb dünyasına yeni katılmış biri olarak bir sorum olacaktı yardımcı olursanız sevinirim şimdiden teşekkürler. Bir sözlük düşünün veritabanınızda sözlük var ing ve türkçe alanları olsun sonra size excelde 100 tane yeni kelime gelsin bu gelen kelimelerin tr karşılığı veritabanında varmı diye baksın varsa yanındaki hücreye yazsın yoksa bi sonraki kelimeyle devam etsin istiyorum nasıl bir kod yazmalıyım çözemedim. Forumunuzda öğrendiklerimle veri tabanı bağlantısını başardım tek satırlık bir sorgu içinde başarılı oldum ama örn. 100 satır sorucak cevap varsa yanındaki hücreye yazıcak yoksa bi alttaki kelimeyle devam edicek işte bunu başaramadım :)
 
Merhaba

İç içe 2 adet for-next döngüsü kuracaksınız.
Kabaca;
Kod:
for i=1 to 100
for j=1 to veritabanısonsatir
if cells(i,"a")=sheets(vtb).cells(j,"a") then
cells(i,"b")=sheets(vtb).cells(j,"b")
end if
next j
next i
 
Tam olarak anlıyamadım nerede ne yapmam gerektiğini biraz daha açıklayıcı olabilirmisiniz. Benim kod bu şekilde. Tek tek C' sütunundaki satırları okuyacak D sütunundaki satırlara yazacak yani yanlarına inş. anlatabilmişimdir.

Sub sq()


With ActiveSheet.QueryTables.Add(Connection:=Array(Array("ODBC;DRIVER=MySQL ODBC 5.1 Driver;SERVER=*.*.*.*;Port=****;UID=;Trusted_Connection=Yes;APP=Microsoft Office 2010;WSID=EUANG6;User=**;Password=**;DATABASE=*****")), Destination:=Range("D3"))
.CommandText = "SELECT turkce FROM ****** WHERE ing LIKE '" & [C3].Value & "'"



.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With

End Sub
 
. . .

Kod:
Sub sq()
son=[c65536].end(3).row


for i=1 to son

if cells(i,"C") <> "" then

With ActiveSheet.QueryTables.Add(Connection:=Array(Arra y("ODBC;DRIVER=MySQL ODBC 5.1 Driver;SERVER=*.*.*.*;Port=****;UID=;Trusted_Conne ction=Yes;APP=Microsoft Office 2010;WSID=EUANG6;User=**;Password=**;DATABASE=**** *")), Destination:=Range("D" & i))
.CommandText = "SELECT turkce FROM ****** WHERE ing LIKE '" & range("c" & i).Value & "'"

.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With

else:end if

next i

End Sub

. . .
 
Konuya ait bir örnek dosya eklenmiş olsaydı, belki başkalarının da işine yarayabilirdi.
dosya olmayınca kodların ne işe yaradığını anlamak zor.
 
Geri
Üst