[AccessD] Parsing NULL values

A.D.TEJPAL adtp at hotmail.com
Tue Jun 13 13:42:27 CDT 2006


William,

    Apart from Null values, it would also be desirable to cater to following type of contents for field ExhProducts in table tblSHOWDir, each of which should get translated to test1 in field txtExhProdCat in tabletblExhibitorProducts

    test1
    \test1
    \test1\

    Modified sub-routine given below should cover all such contingencies, including Null values.

Best wishes,
A.D.Tejpal
---------------

========================================
Sub ParseProductCategories()
    Dim db As dao.Database
    Dim rst1 As dao.Recordset, rst2 As dao.Recordset
    Dim Rtv As Variant, Cnt As Long

    Set db = CurrentDb
    Set rst1 = db.OpenRecordset("tblSHOWDIR")
    Set rst2 = db.OpenRecordset("tblExhibitorProducts")
    rst1.MoveFirst
    Do While Not rst1.EOF
        If Len(rst1!ExhProducts) > 0 Then
            Rtv = Split(rst1!ExhProducts, "\")
            For Cnt = 0 To UBound(Rtv)
                If Len(Rtv(Cnt)) > 0 Then
                    rst2.AddNew
                    rst2!EMSID = rst1!EMSID
                    rst2!txtExhProdCat = Rtv(Cnt)
                    rst2.Update
                End If
            Next
        Else
            rst2.AddNew
            rst2!EMSID = rst1!EMSID
            rst2.Update
        End If
        
        rst1.MoveNext
    Loop
    
    rst1.Close
    rst2.Close
    Set rst1 = Nothing
    Set rst1 = Nothing
    Set db = Nothing
End Sub
========================================

  ----- Original Message ----- 
  From: William Hindman 
  To: Access Developers discussion and problem solving 
  Sent: Tuesday, June 13, 2006 22:21
  Subject: [AccessD] Parsing NULL values


  ...given A2003 DAO

  ...given tblSHOWDir with 2 fields: EMSID and ExhProducts

  sample data
  1234567890 test1\test2\test3\test4\
  2345678901 test1\test2\test3\test4/erk\
  3456789012
  4567890123 test1\test2\test3\

  ...given tblExhibitorProducts with 2 fields: EMSID and  txtExhProdCat

  desired data
  1234567890 test1
  1234567890 test2
  1234567890 test3
  1234567890 test4
  2345678901 test1
  2345678901 test2
  2345678901 test3
  2345678901 test4/erk
  3456789012
  4567890123 test1
  4567890123 test2
  4567890123 test3
  4567890123 test3

  ...the below function parses tblSHOWDIR into tblExhibitorProducts correctly
  EXCEPT when field ExhProducts is blank

  Sub ParseProductCategories()
  Dim db As Database
  Dim rst1 As Recordset
  Dim rst2 As Recordset
  Dim txtField1 As Long
  Dim txtField2 As String
  Set db = CurrentDb
  Set rst1 = db.OpenRecordset("tblSHOWDIR")
  Set rst2 = db.OpenRecordset("tblExhibitorProducts")
  rst1.MoveFirst
  Do While Not rst1.EOF
      txtField1 = rst1!EMSID
      txtField2 = Mid(rst1!ExhProducts, InStr(rst1!ExhProducts, "\") + 1)
      rst2.AddNew
      rst2!EMSID = txtField1
      rst2!txtExhProdCat = Left(rst1!ExhProducts, InStr(rst1!ExhProducts, 
  "\") - 1)
      rst2.Update
      Do Until InStr(txtField2, "\") < 1
          rst2.AddNew
          rst2!EMSID = txtField1
          rst2!txtExhProdCat = Left(txtField2, InStr(txtField2, "\") - 1)
          rst2.Update
          txtField2 = Mid(txtField2, InStr(txtField2, "\") + 1)
      Loop
  rst1.MoveNext
  Loop
  End Sub

  ...how do I handle the "" or nulls?

  William


More information about the AccessD mailing list