Excel'den Access sorgusuna parametre geçirme


4

Bir Access (2010 ama aynı zamanda Office 2003'ü de denedim) bir forma girilen verilere dayanan birçok tablo, form ve iç içe geçmiş sorgu içeren bir veritabanına sahibim WHERE query1.year=[Forms]![Form1]![Text0];. Şimdi böyle bir sorguyu Excel'e harici veri kaynağı olarak bağlamak istiyorum, ancak bu sorun yaratıyor:

Eğer standart "Veri -> Erişimden" yaklaşımını kullanırsam, formlara dayanan sorular bile görünmez. Başka bir sorguya bağlantı oluşturup daha sonra gerçekte istediğim sorguyu işaret etmek için bağlantı özellikleri penceresindeki Komut metnini değiştirirsem, bir hata mesajı alıyorum ("Sorgu çalışmadı veya veritabanı tablosu açılamadı. ").

MS Query ("Veri -> Diğer Kaynaklardan -> Microsoft Query") kullanırsam, istediğim sorguyu seçebilir, ancak "Çok az parametre var. Beklenen 1." hata iletisini alabilirim.

Elbette, bu mükemmel bir anlam ifade ediyor çünkü sorgu Excel'de bulunmayan bir forma dayanıyor. Bu sorgularda "real" sorgu parametrelerini kullanmaya çalıştım, fakat aynı şey. Excel'in belirli bir hücrede değeri alıp Access sorgusuna parametre olarak iletmesini gerçekten istiyorum.

Böylece ideal dünya şuna benzer: Erişimde, işlerini yapmak için parametrelere dayanan bir sürü sorum var. Access içinden kullanıcının bu değerleri girmesine izin vermek için bir form kullanabilirim. Excel'den bu parametreler verilen hücrelerden alınmalıdır. Bu hiç mümkün mü?

Yanıtlar:



1

Kesinlikle gerekli olmadıkça, karşılaştığınız nedenden ötürü, kaydedilmiş bir sorguda bir form denetimine asla atıfta bulunmam - bu, formları açık olan dışa bağımlılık nedeniyle sorguları daha az kullanılabilir hale getirir.

Access, çalışma zamanında kayıt kümelerine ölçüt uygulamak için birden fazla yol sunar;

Bununla birlikte, veritabanınıza DDE ile bağlanabiliyorsanız, işi yapması gerekir. DDE, Access veritabanlarından Word birleştirme için varsayılan olarak kullanılır (benim sonsuz sıkıntım için). Yeni bir Access örneği başlattı (bu, kullanıcı düzeyinde güvenliğiniz varsa, bir kullanıcı adı / parola istemi ile oturup bekleyeceği ve hiçbir zaman veritabanınızı açmayacağı anlamına gelir) ve ardından eski stil DDE komutları ile iletişim kurar. . Senin durumunda, gerekli formları veritabanınızın başlangıç ​​yardımcı programlarında açarsanız çalışması gerekir. Ancak, çalışma zamanında kullanıcı tarafından veri doldurulmaları gerekiyorsa, bu da işe yaramaz.

Nihai çözüm, kaydedilen sorgularınızı formlardan ayırmak veya verileri almak için Excel'deki ham SQL dizesini kullanmak (form referansı olmadan).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.