Raporunuz form üzerinden açılıyor ve formda kullandığınız Excel dosyasının adına ilişkin bir textbox var şöyle ki yukarıdaki ifadenize binaen 21-00016 değerine sahip bir textbox var ve siz raporda Unbound OLEObject için 21-00016.xlsx dosyasını kullanıyorsunuz doğru mu anladım? (Kusura bakmayın örneğiniz olmadığı için gözümde canlandırmaya çalışıyorum ve inanın inanılmaz bir temponun içinde aradaki kahve çay molalarımda bakıp yardımcı olmaya çalıştığım için zaman zaman ipin ucun kaçıyor nerede kaldığımı unutuyorum. Net anladım mı sizi teyit etmek istedim)
İlişkisiz Nesne Kullanımı
Bir örnek ekledim,
Form açılınca metin kutusuna ilgili Excel dosya numarası geliyor, sonuna.xlsx eklemedim, ama ekleyebilirim.
Formdaki butona tıklayınca "excel" isimli raporu açıyor,
Rapor açılınca Unbound OLEObject kısmında formdaki metin kutusunda yazan 21-00016 numaralı exceli getirmek istiyorum.
Metin kutusunda yer alan numara otomatik artan bir değişken.
VBA kod olarak Unbound OLEObject için Excel yolunu nasıl tanımlamam gerektiği noktasında yardımı olmanız bile işimi çözer, excelin adresini manuel olarak rapor tasarım modunda iken "düzen / ole/dde bağlantıları / kaynağı değiştir" seçerek yapıyorum, ilk gönderdiğim dosyada resimleri mevcut.
Form açılınca metin kutusuna ilgili Excel dosya numarası geliyor, sonuna.xlsx eklemedim, ama ekleyebilirim.
Formdaki butona tıklayınca "excel" isimli raporu açıyor,
Rapor açılınca Unbound OLEObject kısmında formdaki metin kutusunda yazan 21-00016 numaralı exceli getirmek istiyorum.
Metin kutusunda yer alan numara otomatik artan bir değişken.
VBA kod olarak Unbound OLEObject için Excel yolunu nasıl tanımlamam gerektiği noktasında yardımı olmanız bile işimi çözer, excelin adresini manuel olarak rapor tasarım modunda iken "düzen / ole/dde bağlantıları / kaynağı değiştir" seçerek yapıyorum, ilk gönderdiğim dosyada resimleri mevcut.
Merhaba.
Doğru anladıysam kod işinizi görür.
Metin0 a yazılan varsa Excel açılır yoksa yok mesajı verir.
fil.Path bu yolu verir kodda.
C:/Excel içindeki tüm klasörlerde arama yapar.
Doğru anladıysam kod işinizi görür.
Metin0 a yazılan varsa Excel açılır yoksa yok mesajı verir.
fil.Path bu yolu verir kodda.
C:/Excel içindeki tüm klasörlerde arama yapar.
Option Compare Database
Dim varmi As Boolean
Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize
varmi = False
Metin0.Value = "21-00016"
End Sub
Private Sub Komut2_Click()
Const yol As String = "C:/Excel"
If Dir(yol, vbDirectory) = "" Then
MsgBox "Aranan klasör yok", vbCritical, "Hata"
Exit Sub
End If
Call excelAc(yol)
If varmi = True Then
MsgBox "Dosya bulundu"
Else
MsgBox "Dosya bulunamadi..", vbCritical, "Hata"
End If
DoCmd.OpenReport "excel", acPreview
End Sub
Sub excelAc(StartFolderpath As String)
Dim fil As Object
Dim klasor As Object
Dim Altklasor As Object
Dim fso As Object
varmi = False
Set fso = CreateObject("Scripting.FileSystemObject")
Set klasor = fso.GetFolder(StartFolderpath)
For Each fil In klasor.Files
If fso.GetBaseName(fil) = Metin0.Value And fso.GetExtensionName(fil) = "xlsx" Then
AcExcel fil.Path
varmi = True
Exit Sub
End If
Next
For Each Altklasor In klasor.SubFolders
Call excelAc(Altklasor.Path)
Next
Set klasor = Nothing: Set Altklasor = Nothing: Set fil = Nothing: Set fso = Nothing
End Sub
Sub AcExcel(adres As String)
Dim obj As Object
Set obj = CreateObject("Shell.Application")
obj.ShellExecute (adres)
Set obj = Nothing
End Sub
Sayın @Osman Eliboyalı38 sorunuz çözümlendi mi geri bildirimde bulunun lütfen.
(06/05/2021, 01:01)atoykan yazdı: Sayın @Osman Eliboyalı38 sorunuz çözümlendi mi geri bildirimde bulunun lütfen.Bizde çözüldü olarak taşırız abey
Hem konu aç hem takip etme oyun oynar gibi.
Konuyu Okuyanlar: 2 Ziyaretçi