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.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
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.

.
 
Katılım
11 Mayıs 2006
Mesajlar
31
Excel Vers. ve Dili
Excel 2003 Türkçe
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...
 
Katılım
9 Kasım 2007
Mesajlar
23
Excel Vers. ve Dili
excel 2007 tr
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ı..???
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
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.
 
Katılım
9 Kasım 2007
Mesajlar
23
Excel Vers. ve Dili
excel 2007 tr
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..
 
Katılım
25 Nisan 2007
Mesajlar
459
Excel Vers. ve Dili
2007
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
 
Katılım
25 Nisan 2007
Mesajlar
459
Excel Vers. ve Dili
2007
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
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
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.
 
Katılım
9 Kasım 2007
Mesajlar
23
Excel Vers. ve Dili
excel 2007 tr
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..
 
Üst