• DİKKAT

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

makro kodlarıyla başka bir programa müdahale etmek?

Katılım
11 Mayıs 2006
Mesajlar
31
Excel Vers. ve Dili
Excel 2003 Türkçe
Kullanmakta olduğum bir ERP (erp'nin adı Presto ve sql tabanlı (başka bir örnek Eta sql gibi))paketine makro kodlarıyla müdahale ederek bazı işlemlerimi makroya yaptırmak istiyorum. Bu konuda bilgisi olan varmı?

diğer bir değişle makroyla başka bir programı nasıl yönlendirebilirim.
 
Ne gibi işlemler yaptırmak istediğiniz önemli .... Bunu biraz açmanız lazım ...

Eğer veri tabanına, direkt müdahele etmek istiyorsanız, VT yapısını ve organizasyonunu çok iyi bilmeniz gerekir. Program üreticisine danışmanız yerinde olur.

Eğer ekranda görünen ERP penceresi üzerinde; herhangi bir butona basmak veya textbox'ı doldurmak gibi beklentileriniz varsa, basit SendKeys gibi yöntemleri kullanabilirsiniz.

Eğer herhangi bir listeden veri seçme gibi özellikleri kullanmak istiyorsanız, iş oldukça karmaşık bir hal alabilir. Program üreticisine danışmanızda fayda var.

.
 
istediğim kullanıcı ara yüzündeki textbox ve menüleri otomatik olarak makrolarla kullanabilmek...
örneğin üretim menüsünden bir alt menü seçilecek buraya sipariş menüsündenki bilgileri aktaracak bir program yazmak istiyorum.

şimdiden teşekkürler...
 
Arkadaşlar Merhaba...

"selimm" Arkadaşımızın degindigi bu konuda benimde bir sorum olacak yanlız öncelikle arkadaşımızın yapmak istedigi şeyin program içerigine müdahale oldugunu düşündügümden bunun olamayacagını ancak yazılımı gerçekleştiren arkadaşların bu isteginde kendisine yardımcı olacagını düşünüyorum.Şöyleki diyelim önce siparişi modülünü açacak sonra burdaki veriyi kopyalayacak, ki program buna izin vermiyor.. diger modülü açıp burdan aldıgı ürünü miktarını yazacak kayıt edecek..Ancak sql tabanlı programın kendi içerisindeki modüllerden birbirine veri girişi olarak degilde dışardan veri al komutları ile otomatik veri giriş işlemleri yapıla biliyor.Örn.Otomatik sipariş oluşturma,oluşturulmuş siparişleri onaylama,silme,kapatma diger modüller içinde aynı şeyler yapıla bilir sevk çıkışlar aç,kapat onay,belge nosu verme,yazıcıdan çıktı almak vs...Bunlara artı olarak txt dosyalarını makroyla oluşturup fire,sarf gibi işlemleri dışardan veri al komutu ile otomatik kayıt yapabiliyoruz.Bunlar haricindeki müdahalelerde beni aşıyor zaten onun için arkadaşlara şöyle bi soru sormak istiyorum..

Bu tarz programlara(sql tabanlı) excelde sorgu oluştura bilirmiyiz. Mesala mal nosu 1 olan ekmek ürünü için bu gün veya verdigimiz tarihler arasında,belirledigimiz şubede-lerde kaçtane sattıgını veya şu andaki stok durumunu ögrenmek için bir sorulama yöntemi varmı.?Excelde yoksa bile başka şekilde bu verileri çekmenin yöntemleri varmı..???
 
Arkadaşlar Merhaba...

"selimm" Arkadaşımızın degindigi bu konuda benimde bir sorum olacak yanlız öncelikle arkadaşımızın yapmak istedigi şeyin program içerigine müdahale oldugunu düşündügümden bunun olamayacagını ancak yazılımı gerçekleştiren arkadaşların bu isteginde kendisine yardımcı olacagını düşünüyorum.Şöyleki diyelim önce siparişi modülünü açacak sonra burdaki veriyi kopyalayacak, ki program buna izin vermiyor.. diger modülü açıp burdan aldıgı ürünü miktarını yazacak kayıt edecek..Ancak sql tabanlı programın kendi içerisindeki modüllerden birbirine veri girişi olarak degilde dışardan veri al komutları ile otomatik veri giriş işlemleri yapıla biliyor.Örn.Otomatik sipariş oluşturma,oluşturulmuş siparişleri onaylama,silme,kapatma diger modüller içinde aynı şeyler yapıla bilir sevk çıkışlar aç,kapat onay,belge nosu verme,yazıcıdan çıktı almak vs...Bunlara artı olarak txt dosyalarını makroyla oluşturup fire,sarf gibi işlemleri dışardan veri al komutu ile otomatik kayıt yapabiliyoruz.Bunlar haricindeki müdahalelerde beni aşıyor zaten onun için arkadaşlara şöyle bi soru sormak istiyorum..

Bu tarz programlara(sql tabanlı) excelde sorgu oluştura bilirmiyiz. Mesala mal nosu 1 olan ekmek ürünü için bu gün veya verdigimiz tarihler arasında,belirledigimiz şubede-lerde kaçtane sattıgını veya şu andaki stok durumunu ögrenmek için bir sorulama yöntemi varmı.?Excelde yoksa bile başka şekilde bu verileri çekmenin yöntemleri varmı..???

Alıntı excelde bunu yapmak bildiğim kadarı ile mümkün... Yalnız veritabnaının adı özellikleri önemli. Genellikle esgl sorgusu ile dediğiniz yapılabiliyor.
 
Arkadaşlar bu konu ile ilgili bir yer varmı inceleyebilecegim bir aderes gösterin veya bir anlatım ekleyinde biraz çalışalım bakalım neler çıkacak...Teşekürler..
 
sql server'larına excel VBA ile bağlanmak ve işlemler yapmak mümkün.

Örneğin Logo'dan; Müşteri Takip Sistemi Programıma MÜŞTERİLERİN BAKİYE bilgisini çektiğim kod bloğu şu şekilde, fikir vermesi açısından yayınlıyorum.

Kod:
Dim rsdata As ADODB.Recordset
dim spath As String
Dim sfile As String
Dim sconnect As String
Dim ssql As String


spath = ThisWorkbook.Sheets(1).[a1]
sfile = ThisWorkbook.Sheets(1).[a2]

sconnect = "Provider=SQLOLEDB; SERVER=DATA-SERVER; UID=sa; ; database=XXXXX"

ssql = "SELECT     SUM(dbo.LG_018_01_CLTOTFIL.DEBIT) AS Expr1, SUM(dbo.LG_018_01_CLTOTFIL.CREDIT) AS Expr1, dbo.LG_018_CLCARD.DEFINITION_, " & _
" dbo.LG_018_CLCARD.TELNRS1 , dbo.LG_018_CLCARD.TELNRS2, dbo.LG_018_CLCARD.FAXNR " & _
" FROM         dbo.LG_018_01_CLTOTFIL INNER JOIN " & _
" dbo.LG_018_CLCARD ON dbo.LG_018_01_CLTOTFIL.CARDREF = dbo.LG_018_CLCARD.LOGICALREF " & _
" WHERE     (dbo.LG_018_CLCARD.DEFINITION_ LIKE '" & Trim(MusteriIsmi) & "%') AND (dbo.LG_018_01_CLTOTFIL.TOTTYP = 1) " & _
" GROUP BY dbo.LG_018_CLCARD.DEFINITION_, dbo.LG_018_CLCARD.TELNRS1, dbo.LG_018_CLCARD.TELNRS2, dbo.LG_018_CLCARD.FAXNR "

Set MusteriIsmi = Nothing

Set rsdata = New ADODB.Recordset

rsdata.Open ssql, sconnect, adOpenForwardOnly, adLockReadOnly, adCmdText

If Not rsdata.EOF Then
TextBox15 = Format(Val(Replace(Replace(rsdata.Fields(0).Value - rsdata.Fields(1).Value, ".", ""), ",", ".")), "###,###0.00")
TextBox16 = rsdata.Fields(2).Value
TextBox17 = rsdata.Fields(3).Value
TextBox18 = rsdata.Fields(4).Value
TextBox19 = rsdata.Fields(5).Value
End If

rsdata.Close
 
Yukarıda sconnect değişkeni; BAĞLANTI KATARINI oluşturur.

Server adını, (SERVER=..... )
Kullanıcı adını, (UID= ...... )
Yukarıda şifre olmadığı için yazmayın kullanıcı şifresini, (PWD= .....)
Database adını, (DATABASE= ........ )

bilmeniz gerekir.

Ayrıca; SSQL isimli deşişken; kullanılacak SQL kodunu içerir.
Burda ise kullanılacak tablo ve field isimlerini bilmeniz gerekir.

Ayrıca ADODB

Ayrıca excel'inizde; Microsoft ActiveX Data Objects Library'si yüklü olması gerekir.

Yüklü olup olmadığını, VBA Penceresinde, Tools Menüsünde References ... seçeneği ile ulaşıp görebilir ve yüklü değil ise yükleyebilirsiniz.

Bilginize
 
Yukarıda sconnect değişkeni; BAĞLANTI KATARINI oluşturur.

Server adını, (SERVER=..... )
Kullanıcı adını, (UID= ...... )
Yukarıda şifre olmadığı için yazmayın kullanıcı şifresini, (PWD= .....)
Database adını, (DATABASE= ........ )

bilmeniz gerekir.

Ayrıca; SSQL isimli deşişken; kullanılacak SQL kodunu içerir.
Burda ise kullanılacak tablo ve field isimlerini bilmeniz gerekir.

Ayrıca ADODB

Ayrıca excel'inizde; Microsoft ActiveX Data Objects Library'si yüklü olması gerekir.

Yüklü olup olmadığını, VBA Penceresinde, Tools Menüsünde References ... seçeneği ile ulaşıp görebilir ve yüklü değil ise yükleyebilirsiniz.

Bilginize

yukarıdaki bilgilere ek olarak öncelikle denetim masasından odbc bağlantısını yapmalısınız.direkt olarak tablo adı bilmeniz gerekmez. sizin istediğiniz bilgiler eğer bir view'de bulunuyorsa ve siz bu view'in adını ve field isimlerini biliyorsanız tabloya gerek kalmadan istediğiniz bilgileri çeken (sayın xcell'in yaptığı gibi) bir makro ile işinizi halledebilirsiniz. bende yukarıdaki şekilde sql tabanlı mrp programımızdan veri çekerek analizler yapıyorum.
 
Arkadaşlar harikasınız..Hepinize teşekür ediyorum..Tam yenine taş koymuşum gibi geldi..
"ockucukay" Arkadaşım bir tane excel dosyası örnegi rica etsek eklersin umarım veya yapılış yönünden kısada olsa bir anlatım...Teşekürler..
 
Geri
Üst