Excelden Accesse gonderilen kaydın ID sini alma

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Merhabalar

insert komutu ile gönderilen kaydın Id sini aynı sorgu içinde alabilir miyiz.
Bununla ilgili elinde örnek olan varsa paylaşabilir mi?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ne demek istediğinizi ben anlayamadım ....

Access tablosunda otomatik ID varsa, datayı gönderirken ID'e ihtiyaç duymazsınız.

Ya da siz; dataya gönderip, bu datanın ID'sini Excel'de görüntülemek mi istiyorsunuz?

.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Formdan girilen bilgileri İnsert into komutu ile accese kayıt atıyorum ve attığım her satır kayıt için Kaydın ID bilgisini almak istiyorum.
Dosya ağda aynı anda birden fazla kullanıcı kullandığı için her kullanıcı kendi ID bilgisini alıp kayıt numarası olarak bu Id numarasını kullanmak istiyorum.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Access tablosunda otomatik ID var mı, buna cevap vermediniz...

.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Pardon atlımışım. Evet var
atlamışım olan Adı ID
Ornek Kayıt
Kod:
  sorgu = "Insert Into MasterData (Artikel,ArtikelMetni,NetAgırlık,BrutAgırlık,KoliIci,KatıSıvı,YemDurumu,Durum) Values ("
   sorgu = sorgu & "'" & Artikel & "','" & Replace(ArtikelMetni, "'", " ") & "'," & Replace(NetAgirlık, ",", ".") & "," & Replace(BrutAgirlık, ",", ".") & ","
   sorgu = sorgu & "" & Replace(Kolici, ",", ".") & ",'" & KatiSivi & "','" & YemDurumu & "','" & "Onayli" & "')"
'               MsgBox sorgu
         '      Cells(50, "A") = sorgu
          Sonuc = False
                Call VeriIslemi(sorgu, Sonuc, Yol)
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,374
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
MS Access Auto Increment alanlar için şöyle bir şey varmış; test etmedim.

PHP:
set rst = objConn.Execute("SELECT @@IDENTITY")
id = rst(0)
Eğer bu işe yaramazsa Adox ile de alınabilir....

PHP:
id = objadox.tables("table").columns("field").properties("Seed").value
.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Insert kodunu ile birlikte mi sorguyu göndermez lazım veya nasıl göndermem lazım örnek verebilirmisiniz. Ornek kodu nasıl değiştirmem lazzım.
İlginiz için teşekkürler
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub satisEkle()
    If ActiveSheet.Name <> "GUNLUK" Then Exit Sub
    If adoCn Is Nothing Then Call baglan
    Set RS = CreateObject("ADODB.Recordset")
    RS.Open "satislar", adoCn, 1, 3, 2
    For r = 3 To Cells(Rows.Count, "Y").End(3).Row
        If Cells(r, "x") <> "" Then
            With RS
                .AddNew
                .Fields("tarih") = Format(Cells(r, 24), "M.d.yyyy")
                For i = 24 To 42
                    If Cells(1, i) <> "" Then .Fields(Trim(Cells(1, i))) = IIf(IsNumeric(Cells(r, i)), Cells(r, i), Trim(Cells(r, i)))
                Next i
                .Update
            '*****************************
                MsgBox .Fields(0) '*******
            '*****************************
            End With

            If Cells(r, "AM") <> 0 Then bakiyeDuzenle2 Cells(r, "y"), Cells(r, "AM") + bakiyeAl(Cells(r, "y"))
            If Cells(r, "W") <> "" Then aciklamaDuzenle2 Cells(r, "y"), Cells(r, "W")
        End If
    Next r
    RS.Close
End Sub
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,374
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Önce veya sonra yürütün. Bu, ihtiyacınıza bağlı bir durum. Ancak çakışma olmaması için adox yöntminin kullanarak sıradaki id'yi rezerve etmeniz gerekiyor. Bunun için de Seed'i 1 artırmanız gerekir. İlk kişi işini bitirene kadar diğer kişi sıradaki id' yi alabilsin.

Haluk Bey, çok hızlısın. ;)

.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Cevaplarınız için teşekkür ederim.
Kodları fazla bilgim olmadığı için düzeltemedim örnek dosyayı ekte gönderiyorum yarım edebilir misiniz lütfen.
Dosyadaki forma barkod yazınca Master Accessinden barkod bilgisini alıp envater accessine yazıyor. kodlar yazma aşamasında almam gerekiyor.
 

Ekli dosyalar

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Merhaba veyselemre bey

Bağlan macrosunun örneğinide paylaşabilirmisiniz.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Merhaba veyselemre bey

Bağlan macrosunun örneğinide paylaşabilirmisiniz.
Kod:
Public adoCn As Object
Dim rsTables As Object, rsFields As Object, RS As Object, RS1 As Object

Sub baglan()
    Dim dosyaYolu As String
    dosyaYolu = "Z:\DATA\atilim.mdb"

    If Dir(dosyaYolu) = Empty Then
        MsgBox dosyaYolu & " bulunamadı!"
        GoTo safeExit:
    End If

    Set adoCn = CreateObject("ADODB.Connection")
    adoCn.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCn.Properties("Jet OLEDB:Database Password") = "***lım"
    adoCn.ConnectionString = dosyaYolu
    adoCn.Open

    If adoCn.State = 1 Then
        'MsgBox "ADO bağlantısı kuruldu"
    Else
        MsgBox "ADO bağlantısı kurulamadı."
        GoTo safeExit:
    End If

    Set RS = CreateObject("ADODB.Recordset")
    Set RS1 = CreateObject("ADODB.Recordset")
safeExit:
End Sub
 
Üst