home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 November / Pcwk1197.iso / LOTUS / Eng-ins / SAMPLES / SUITE / DW08_S3.LSS < prev    next >
Text File  |  1996-08-01  |  3KB  |  78 lines

  1. Sub Click(Source As Button, X As Long, Y As Long, Flags As Long)
  2. ' Click event for any button object
  3. ' * RUNTIME DEPENDENCIES
  4. ' * Files: This script requires an ODBC database named Sample
  5. ' * in the same directory as the .APR file. The database contains
  6. ' * a table named USERID.CUSTOMER. The table contains the
  7. ' * fields State and SaleRep.
  8.     Dim fName As String
  9.     Dim Con As New Connection
  10.     Dim Qry As New Query
  11.     Dim Rs As New ResultSet
  12.     Dim ChkSetV As Integer
  13.     Dim MyVal As Variant
  14.     Dim I As Integer   ' Index to table rows
  15.     Dim TextToMatch As String
  16.     
  17. ' Determine the find condition.
  18. ' Note: Here you can use some value in the current .APR to evaluate 
  19. ' changes in the other file.  
  20. ' For example, use "If MyVal = Val(Source.field1.text)  Then"
  21.     TextToMatch = "CA"
  22.     
  23. ' Open a connection to the table.
  24.     If (Con.ConnectTo ("ODBC Data Sources","userid", _
  25.     "password", "!Sample")<>False) Then
  26.    ' Use this connection for the query.
  27.         Set Qry.Connection = con
  28.       ' Specify the table for the query.
  29.         Qry.TableName = "USERID.CUSTOMER"
  30.    ' Use this query to create the result set.
  31.         Set Rs.Query = Qry
  32.         
  33.    ' Create the result set.
  34.       ' If the query was successful, then...
  35.         If ((rs.Execute)<>False) Then
  36.          ' Find the number of columns (fields) in the table.
  37.             N = Rs.NumColumns
  38.          ' Print the number of columns to the output panel of the IDE.
  39.             Print "Number of columns = ", N
  40.          ' Print the names of each field in the table.
  41.             For I= 1 To N
  42.                 fName = Rs.Fieldname (I)
  43.                 Print fName   ' Output appears in the IDE.
  44.             Next         
  45.         Else   ' If the result set was not successful, warn the user.
  46.             Messagebox "The query did not succeed.", _ 
  47.             MB_OK + MB_ICONINFORMATION + MB_APPLMODAL, _
  48.             "Unsuccessful Query"
  49.         End If   ' If the result set was successful.
  50.     Else   ' If the connection was not successful, warn the user.
  51.         Messagebox "Connection failed", MB_OK + MB_ICONINFORMATION + _
  52.         MB_APPLMODAL, "Connection"
  53.     End If   ' If the connection was successful.
  54.     
  55. ' Read the value in a field and check if it matches the value.
  56.    ' Continue while the variable i is less than or equal to the number    ' of rows in the table.
  57.     For I = 1 To Rs.NumRows
  58.         Print I
  59.       ' Get the value of the field State.
  60.         MyVal = Rs.GetValue("State")
  61.         Print MyVal
  62.       ' If the value in the field matches the find condition, then 
  63.       ' set the value of another field.
  64.         If MyVal = TextToMatch Then
  65.          ' Set the field "SalesRep" to the value SF.
  66.             Rs.SetValue "SalesRep", "SF"
  67.         End If      ' The field value matches.
  68.         
  69.       ' Update the current row and move to the next one.
  70.       ' UpdateRow is required to commit the changes for each record.
  71.         Rs.UpdateRow
  72.         Rs.NextRow
  73.     Next      ' Until there are no more rows in the table   
  74. ' Disconnect here to avoid trouble reconnecting later.
  75.     Con.Disconnect
  76.     
  77. End Sub
  78.