DUVIDA MS FLEXGRID
Estou com um probleminha, ja pesquisei aqui no forum do site, e tambem em outros sites, sobre
Como editar no FlexGrid mas nao obtive o resultado esperado.
A situação é essa, eu edito os dados no FlexGrid mas tambem tem que editar no banco de dados,
Relacionei o Flex com um obj Data.
Consegui editar o valor da celula, mas nao sei como salva-lo no banco de dados (access).
Como posso tambem salva-lo do Banco ??
veja abaixo o codigo utilizado:
Select Case KeyAscii
Case vbKeyReturn, vbKeyTab
[ô]move para a proxima celula.
With MSFlexGrid1
If .Col + 1 <= .Cols - 1 Then
.Col = .Col + 1
Else
If .Row + 1 <= .Rows - 1 Then
.Row = .Row + 1
.Col = 0
Else
.Row = 1
.Col = 0
End If
End If
End With
Case vbKeyBack
With MSFlexGrid1
[ô]remove o ultimo caractere
If Len(.Text) Then
.Text = Left(.Text, Len(.Text) - 1)
End If
End With
Case Is < 32
Case Else
With MSFlexGrid1
.Text = .Text & Chr(KeyAscii)
End With
End Select
Como editar no FlexGrid mas nao obtive o resultado esperado.
A situação é essa, eu edito os dados no FlexGrid mas tambem tem que editar no banco de dados,
Relacionei o Flex com um obj Data.
Consegui editar o valor da celula, mas nao sei como salva-lo no banco de dados (access).
Como posso tambem salva-lo do Banco ??
veja abaixo o codigo utilizado:
Select Case KeyAscii
Case vbKeyReturn, vbKeyTab
[ô]move para a proxima celula.
With MSFlexGrid1
If .Col + 1 <= .Cols - 1 Then
.Col = .Col + 1
Else
If .Row + 1 <= .Rows - 1 Then
.Row = .Row + 1
.Col = 0
Else
.Row = 1
.Col = 0
End If
End If
End With
Case vbKeyBack
With MSFlexGrid1
[ô]remove o ultimo caractere
If Len(.Text) Then
.Text = Left(.Text, Len(.Text) - 1)
End If
End With
Case Is < 32
Case Else
With MSFlexGrid1
.Text = .Text & Chr(KeyAscii)
End With
End Select
Um exemplo, com ADO:
Dim RsTabela As New ADODB.Recordset
Dim I As Integer
RsTabela.Open [Ô]SELECT * FROM TAB_CLIENTES[Ô], Conexao, adOpenKeySet, adOpenOptmistic
For I = 1 To flexGrid.Rows - 1
RsTabela.AddNew
RsTabela!CLI_CODIGO = flexGrid.TextMatrix(I, 0)
RsTabela!CLI_NOME = flexGrid.TextMatrix(I, 1)
RsTabela!CLI_CNPJ = flexGrid.TextMatrix(I, 2)
RsTabela!CLI_CIDADE = flexGrid.TextMatrix(I, 3)
RsTabela.Update
Next I
RsTabela.Close: Set RsTabela = Nothing
TextMatrix vc pega as células (LINHA, COLUNA)
Dim RsTabela As New ADODB.Recordset
Dim I As Integer
RsTabela.Open [Ô]SELECT * FROM TAB_CLIENTES[Ô], Conexao, adOpenKeySet, adOpenOptmistic
For I = 1 To flexGrid.Rows - 1
RsTabela.AddNew
RsTabela!CLI_CODIGO = flexGrid.TextMatrix(I, 0)
RsTabela!CLI_NOME = flexGrid.TextMatrix(I, 1)
RsTabela!CLI_CNPJ = flexGrid.TextMatrix(I, 2)
RsTabela!CLI_CIDADE = flexGrid.TextMatrix(I, 3)
RsTabela.Update
Next I
RsTabela.Close: Set RsTabela = Nothing
TextMatrix vc pega as células (LINHA, COLUNA)
Tópico encerrado , respostas não são mais permitidas