Tablo ve Rowset İşlemleri

GetTableObject

  • Dönüş Tipi: COM Object (Table)
  • Parametreler:
  • - tableName (String): Tablo adı
  • Açıklama: Tablo nesnesini döndürür

Örnek Kullanım:

Sub Makro1()
    Dim Tbl, RS
    ' Tablo nesnesi
    Set Tbl = Doc.GetTableObject("STOK40T")
    
    ' Rowset nesnesi (aynı işlev)
    Set RS = Doc.GetRowSetObject("STOK40T")
    
    If Not RS Is Nothing Then
        RS.MoveFirst
        Do While Not RS.EOF
            Doc.MsgBox "Stok: " & RS("KOD")
            RS.MoveNext
        Loop
        Set RS = Nothing
    End If
End Sub

Örnek Kullanım:

Sub Makro1()
    Dim Tbl
    Set Tbl = Doc.GetTableObject("STOK40T")
    
    If Not Tbl Is Nothing Then
        ' Tablo işlemleri
        Tbl.AddNew
        Tbl("KOD") = "STOK001"
        Tbl("MIKTAR") = 100
        Tbl.Update
        
        Set Tbl = Nothing
    End If
End Sub

GetRowSetObject

  • Dönüş Tipi: COM Object (Rowset)
  • Parametreler:
  • - tableName (String): Tablo adı
  • Açıklama: Rowset nesnesini döndürür

Örnek Kullanım:

Sub Makro1()
    Dim RS
    Set RS = Doc.GetRowSetObject("STOK40T")
    
    If Not RS Is Nothing Then
        Dim Toplam
        Toplam = 0
        RS.MoveFirst
        Do While Not RS.EOF
            Toplam = Toplam + CDbl(RS("MIKTAR"))
            RS.MoveNext
        Loop
        Doc.MsgBox "Toplam Miktar: " & Toplam
        Set RS = Nothing
    End If
End Sub

DeleteTableObject

  • Dönüş Tipi: Void
  • Parametreler:
  • - tableName (Variant): Tablo adı veya tablo nesnesi
  • Açıklama: Tablo nesnesini siler

Örnek Kullanım:

Sub Makro1()
    Dim Tbl
    Set Tbl = Doc.GetTableObject("STOK40T")
    ' Tablo işlemleri...
    Doc.DeleteTableObject Tbl
    Set Tbl = Nothing
End Sub

DeleteRowsetObject

  • Dönüş Tipi: Void
  • Parametreler:
  • - tableName (Variant): Tablo adı veya rowset nesnesi
  • Açıklama: Rowset nesnesini siler

Örnek Kullanım:

Sub Makro1()
    Dim RS
    Set RS = Doc.GetRowSetObject("STOK40T")
    ' Rowset işlemleri...
    Doc.DeleteRowsetObject RS
    Set RS = Nothing
End Sub

CreateTableObject

  • Dönüş Tipi: COM Object (Table)
  • Parametreler:
  • - tableName (String): Tablo adı
  • - tableType (String): Tablo tipi
  • Açıklama: Yeni tablo nesnesi oluşturur

Örnek Kullanım:

Sub Makro1()
    Dim Tbl
    Set Tbl = Doc.CreateTableObject("MAKROTABLE=STACK", "IO")
    
    If Not Tbl Is Nothing Then
        Tbl.AddField2 "KOD", "CHAR", 20, 0, "L", "", ""
        Tbl.AddField2 "MIKTAR", "NUMERIC", 15, 2, "L", "", ""
        Tbl.AddNew
        Tbl("KOD") = "STOK001"
        Tbl("MIKTAR") = 100
        Tbl.Update
        
        Doc.MsgBox "Yeni kayıt eklendi"
        Set Tbl = Nothing
    End If
End Sub

CreateRowsetObject

  • Dönüş Tipi: COM Object (Rowset)
  • Parametreler:
  • - tableName (String): Tablo adı
  • - tableType (String): Tablo tipi
  • Açıklama: Yeni rowset nesnesi oluşturur

Örnek Kullanım:

Sub Makro1()
    Dim RS
    Set RS = Doc.CreateRowsetObject("KRITERGIRIS=STACK", "TEMPIO")
    
    If Not RS Is Nothing Then
        RS.AddField2 "KOD", "CHAR", 20, 0, "L", "", ""
        RS.AddNew
        RS("KOD") = "STOK001"
        RS.Update
        Set RS = Nothing
    End If
End Sub

CreateTransactionalTableObject

  • Dönüş Tipi: COM Object (Table)
  • Parametreler:
  • - tableName (String): Tablo adı
  • - tableType (String): Tablo tipi
  • Açıklama: Transactional tablo nesnesi oluşturur

Örnek Kullanım:

Sub Makro1()
    Dim Tbl
    Set Tbl = Doc.CreateTransactionalTableObject("MAKROTABLET1=STACK", "IO")
    
    If Not Tbl Is Nothing Then
        Tbl.AddField2 "KOD", "CHAR", 20, 0, "L", "", ""
        Tbl.AddNew
        Tbl("KOD") = "STOK001"
        Tbl.Update
        Set Tbl = Nothing
    End If
End Sub

CreateTransactionalRowsetObject

  • Dönüş Tipi: COM Object (Rowset)
  • Parametreler:
  • - tableName (String): Tablo adı
  • - tableType (String): Tablo tipi
  • Açıklama: Transactional rowset nesnesi oluşturur

Örnek Kullanım:

Sub Makro1()
    Dim RS
    Set RS = Doc.CreateTransactionalRowsetObject("BRW_FILTERING_TABLES=STACK", "IO")
    
    If Not RS Is Nothing Then
        RS.AddField2 "KOD", "CHAR", 20, 0, "L", "", ""
        RS.AddNew
        RS("KOD") = "STOK001"
        RS.Update
        Set RS = Nothing
    End If
End Sub

CreateSObject

  • Dönüş Tipi: COM Object
  • Parametreler:
  • - objectType (String): Nesne tipi
  • Açıklama: Alt automation nesnesi oluşturur

Desteklenen Nesne Tipleri:

  • "d7Date" - Tarih işlemleri
  • "d7DateTime" - Tarih ve zaman işlemleri
  • "Parameters" - Parametre yönetimi
  • "BatchErrorMode" - Toplu hata yönetimi
  • "BatchUpdateMode" - Toplu güncelleme modu
  • "Query" - Sorgu oluşturma
  • "JoinSet" - Tablo birleştirme
  • "ReportOutput" - Rapor çıktısı
  • "FieldDefinition" - Alan tanımları
  • "CodeList" - Kod listesi
  • "ExcelOutput" - Excel çıktısı
  • "HtmlOutput" - HTML çıktısı
  • "PrintEngineOutput" - Yazdırma motoru çıktısı
  • "Chart" - Grafik nesnesi
  • "WaitCursor" / "HourGlass" - Bekleme imleci
  • "StatusBarMessage2" - Durum çubuğu mesajı
  • "DocumentMode" - Belge modu
  • "EDrawings" - E-Drawing nesnesi
  • "Object_CleanUp" - Nesne temizleme
  • Ve diğerleri...

Örnek Kullanım:

Sub Makro1()
    Dim Batch
    Set Batch = Doc.CreateSObject("BatchErrorMode")
    
    For i = 1 To 10
        Doc.MsgBox i & ". işlem yapılıyor"
    Next
    
    Set Batch = Nothing
    Doc.MsgBox "İşlem Tamamlandı."
End Sub

Not: Her nesne tipinin kendine özgü fonksiyonları vardır. Detaylar için ilgili nesne bölümlerine bakın.

CREATE_STD_ROWSET

  • Dönüş Tipi: Integer (Hata kodu)
  • Parametreler:
  • - tableName (String): Tablo adı
  • Açıklama: Standart rowset oluşturur

Örnek Kullanım:

Sub Makro1()
    Dim Result
    Result = Doc.CREATE_STD_ROWSET("_SMS_SEND_INFO_TABLE_E")
    
    If Result = 0 Then
        Doc.MsgBox "Standart rowset oluşturuldu"
    End If
End Sub

---