Using Data Access – From VB with Arrays
The MDMDA session object is being called from a Visual Basic 5.0 application. This sample includes references to an item array (12J1).
The dataset and items are defined as follows:
ITEMS: ITEM-NO, Z6; SALES-PERIODS, 12X6; SALES-HISTORY, 12P12; MISC, 12J1; OTHER, J2; SETS: NAME: HISTORY, DETAIL (1/18); ENTRY: ITEM-NO(!HISTORY-M), SALES-PERIODS, SALES-HISTORY, MISC, OTHER; CAPACITY: 101; END.
Option Explicit Dim ds As Object Dim db As Object Dim da As Object Dim t1 As String Const j1 = 6
Private Sub GetItemValues() Dim ii As Integer t1 = "" ds.Item("ITEM-NO") = Text1.Text For ii = 0 To 11 t1 = t1 + Right(" " + MISC(ii).Text,j1) Next ii Text2.Text = t1 ds.Item("MISC") = t1 End Sub
Private Sub SetItemValues() Dim ii As Integer Text1.Text = ds.Item("ITEM-NO") t1 = ds.Item("MISC") Text2.Text = t1 For ii = 0 To 11 MISC(ii).Text = Val(Mid(t1, (1 + (ii * j1)),j1)) Next ii End Sub
Private Sub Add_Click() GetItemValues If Not ds.DBPut(1, "@;") Then MsgBox ("DBPut failed: " + ds.errormessage) Exit Sub End If End Sub
Private Sub Find_Click() If Not ds.DBFind(1, "PTYPE", tFind.Text) Then MsgBox ("DBFind failed: " + ds.errormessage) Exit Sub Else If Not ds.DBGet(5, "@;", "X") Then MsgBox ("DBGet failed: " + ds.errormessage) Exit Sub End If End If SetItemValues End Sub
Private Sub Form_Load() Set da = CreateObject("MdmDA.Session") da.TraceLevel = 0 da.HostAddress = "support" da.Port = "30002" da.LoginUser = "mgr" da.UserPassword = InputBox("user password") da.LoginGroup = "util" da.LoginAccount = "minisoft" If Not da.Connect Then MsgBox "Connect failed" Exit Sub End If If da.LoginStatus = False Then MsgBox "Login failed" Exit Sub End If Set db = da.AddImageDBRef("MSCARD") Set ds = db.AddDatasetRef("HISTORY") If Not db.DBOpen("MSCARD.UTIL.MINISOFT", "DO-ALL", 1) Then MsgBox "Open failed" Exit Sub End If ds.Delimiter = "" Next_Click End Sub
Private Sub Next_Click() If Not ds.DBGet(2, "@;", "X") Then MsgBox ("DBGet failed: " + ds.errormessage) Exit Sub End If SetItemValues End Sub
Private Sub Rewind_Click() ds.rewind End Sub
Sample
[sample5.zip]