CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 5 of 5
  1. #1
    Join Date
    Feb 2001
    Location
    Malaysia
    Posts
    16

    Msflexgrid - recordset

    'Type mismatch' error occur when I put in codes below ....

    SQLStr= "SELECT CUSTOMERID FROM TABLE 1"

    MSFlexGrid1.Datasource = SQLStr

    how do I rewrite the codes ?????



    thank you

    DonRafouk

  2. #2
    Join Date
    May 2000
    Location
    New York, NY, USA
    Posts
    2,878

    Re: Msflexgrid - recordset

    I think that the better way of doing it - is to create a recordset using your SQL and then enter recordset to MSFlexGrid


    If you use an MSFlexGrid control to display data returned in an ADO recordset, you can use this code to
    dynamically populate the grid-including the header row-with the information in the recordset. You need an
    open ADO recordset named rst and a form containing an MSFlexGrid control named msfGrid:

    Dim cln As Field
    With msfGrid
    .Rows = 2
    .Cols = rst.Fields.Count
    'get the number of grid cols
    .FixedRows = 1
    .FixedCols = 0
    .Row = 0
    .Col = 0
    For Each cln In rst.Fields
    .Text = cln.Name
    'populate header row with names of fields
    If .Col < .Cols - 1 Then .Col = .Col + 1
    Next
    Do While Not rst.EOF
    'loop thru recordset to populate grid
    .Row = rst.AbsolutePosition
    'move to the next row
    .Col = 0
    'reset ourselves back to column(0)
    For Each cln In rst.Fields
    If Not IsNull(cln.Value) Then
    .Text = Trim(CStr(cln.Value))
    Else
    .Text = ""
    End If
    If .Col < .Cols - 1 Then .Col = .Col + 1
    Next
    rst.MoveNext
    .Rows = .Rows + 1
    'add a new row to the grid
    Loop
    .Rows = .Rows - 1
    'remove the last row because it's blank
    .Row = 0
    End With


    Iouri Boutchkine
    [email protected]
    Iouri Boutchkine
    [email protected]

  3. #3
    Join Date
    May 2000
    Location
    New York, NY, USA
    Posts
    2,878

    Re: Msflexgrid - recordset

    Another way of doing this

    ADC - is your recordset
    ADC.Open SQL, Connection.......
    MSFlexGrid1.Cols = ADC.Fields.Count + 1

    Dim V

    Do While Not ADC.EOF
    V = V + 1
    ADC.MoveNext
    Loop

    ADC.MoveFirst
    MSFlexGrid1.Rows = V + 1
    MSFlexGrid1.Row = 0
    MSFlexGrid1.Col = 1
    ADC.MoveFirst
    Dim MyResource
    MyResource = ADC.GetString

    MsFlexGrid1.Cols = ADC.Fields.Count
    For X = 0 To ADC.Fields.Count - 1
    MSFlexGrid1.TextMatrix(0, X) = ADC.Fields(X).Name
    Next
    MSFLEXGRID1.Row = 1
    MSFLEXGRID1.Col = 0
    MSFLEXGRID1.RowSel = MSFLEXGRID1.Rows - 1
    MSFLEXGRID1.ColSel = MSFLEXGRID1.Cols - 1
    MSFLEXGRID1.Clip = MyResource
    MSFLEXGRID1.RowSel = MSFLEXGRID1.Row
    MSFLEXGRID1.ColSel = MSFLEXGRID1.Col

    End Sub

    Iouri Boutchkine
    [email protected]
    Iouri Boutchkine
    [email protected]

  4. #4
    Join Date
    Feb 2001
    Location
    Malaysia
    Posts
    16

    Re: Msflexgrid - recordset

    Thanks to you Iouri , I think I've got the Idea already.

    Thanks a lot.

    DonRafouk

  5. #5
    Join Date
    May 2000
    Location
    New York, NY, USA
    Posts
    2,878

    Re: Msflexgrid - recordset

    Rate it if it helped you

    Iouri Boutchkine
    [email protected]
    Iouri Boutchkine
    [email protected]

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured