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]
|