Arka plan: Microsoft SQL Server 2008 arka uç ile Access 2010 kullanıcı önyüzünde çalışıyorum. Erişimdeki tabloların hepsi SQL server veritabanına bağlanır. Yeni değerleri (parametreler tarafından sağlanan) bir tabloya ekleyen saklı bir yordamım var. Çok sayıda örnekle karşılaştım ama anlamaya gerçekten yakın olup olmadığımı veya tamamen kapalı olduğumu bilmem. Benzer bir soru daha önce sordum ve iyi bir anwser aldım ama bağlantı dizesi ile ilgili sorunlarım var. İşte bir soru/anwser Calling Stored Procedure while passing parameters from Access Module in VBASaklı yordamı çağırma VBA
Bağlantı dizesi oluşturmak için gereken bilgileri nasıl bulacağımı bilmiyorum ve (ör: sağlayıcı/sunucu adı/sunucu adresini bilmiyorum). Burada "SQL Server veritabanına işaret eden Access bağlantılı bir tablonuz varsa o zaman sadece .Connect dizesini Depolanmış Prosedürü yürütmek için bir DAO.QueryDef nesnesiyle kullanabilirsiniz" ifadesini kullandım - Connection string for Access to call SQL Server stored procedure Uygulamayı denedim Bu kod ancak parametreleri nasıl geçeceğinden emin değildim, bu yüzden önceki bir örneği kullanmayı denedim. Ama hata "arama başarısız oldu" satırında "Set rst = qdf.OpenRecordset (dbOpenSnapshot)" geçerek benim parametreler geçerek kod muhtemelen yol kapalıdır.
Set qdf = CurrentDb.CreateQueryDef("")
qdf.Connect = CurrentDb.TableDefs("tblInstrumentInterfaceLog").Connect
qdf.sql = "EXEC dbo.upInsertToInstrumentInterfaceLog"
qdf.ReturnsRecords = True
Set rst = qdf.OpenRecordset(dbOpenSnapshot)
qdf.Parameters.Append qdf.CreateParameter("@BatchID", adVarChar, adParamInput, 60, BatchID)
qdf.Parameters.Append qdf.CreateParameter("@InstrumentName", adVarChar, adParamInput, 60, InstrumentName)
qdf.Parameters.Append qdf.CreateParameter("@FileName", adVarChar, adParamInput, 60, FileName)
qdf.Parameters.Append qdf.CreateParameter("@QueueId", adVarChar, adParamInput, 60, QuenueId)
rst.Close
Set rst = Nothing
Set qdf = Nothing
kimse benim koduyla yanlış olabilir ve neden bu hatayı alıyorum neyi söyler misiniz? Teşekkür ederim!
bu standart Access veritabanı veya Access Data Project mi? yani ODBC (standart veritabanı) ile bağlantılı tablolar mı yoksa veri projenizi doğrudan bir SQL Server veritabanına bağladınız mı? –
Veritabanını oluşturmadığımdan emin değilim. Anlatmanın bir yolu var mı? – VictoriaJay
Access 2010 için emin değil, ama bakılacak şeyler ... tabloları bağlantılı tablolar mı yoksa yalnızca yerel tablolar gibi mi görünüyorlar? Dosya menüsü seçeneği altında, veritabanına bağlantının ayarlandığı bir Bağlantı seçeneğiniz var mı? –