MIGRACAO
                    Olá pessoal, tudo bem?
Eu sempre usei o DBGrid em minhas aplicações mas sempre ouvi até mesmo aqui no Forum para mudar, tipo...flexgrid.
Queria ver com vocês, que tem mais experiência, qual é o melhor e se teriam algum exemplo de conexão ADO com SQL.
Obrigado
            Eu sempre usei o DBGrid em minhas aplicações mas sempre ouvi até mesmo aqui no Forum para mudar, tipo...flexgrid.
Queria ver com vocês, que tem mais experiência, qual é o melhor e se teriam algum exemplo de conexão ADO com SQL.
Obrigado
                    é muito semelhante as configuração do Flex e DBGrid mas eu uso o FlexGrid, na minha opnião bem mais facil e simples
Uso relacionado com o Objeto Data, mostrando e aplicando filtros com ele, pelo modo SQL.
                
            Uso relacionado com o Objeto Data, mostrando e aplicando filtros com ele, pelo modo SQL.
                    Entendi meu caro,
Mas como é feita a conexao ao SQL via Data?
            Mas como é feita a conexao ao SQL via Data?
                    Só um detalhe.
Estou usando conexão ODBC para conectar ao SQL
Public sql As String
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
cn.Open [Ô]Conexao_Vendas[Ô], [Ô]vendas[Ô], [Ô]vendas[Ô]
Obrigado
                
            Estou usando conexão ODBC para conectar ao SQL
Public sql As String
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
cn.Open [Ô]Conexao_Vendas[Ô], [Ô]vendas[Ô], [Ô]vendas[Ô]
Obrigado
                    Amigo, veja só, o msflexgrid não tem nem comparacao com dbgrid, é um grid preparado para trabalhar 100% com ado, a forma que vc vai conectar ao sql é mais ou menos essa acima mesmo. abaixo vou enviar a conexao buscando os dados de um arquivo INI. 
isso em um modulo para chamar a conexao, no load do form coloque CONECTA TRUE
E abaixo como preencher o grid.
               
Public Conexao As ADODB.Connection
Public Function Conecta(ByVal Valor As Boolean)
    On Error GoTo erroconexao
    Dim SERVIDOR, USUARIO, SENHA, BASEDADOS As String
    If Valor = True Then
        SERVIDOR = ReadINI([Ô]Conexao[Ô], [Ô]SERVIDOR[Ô], App.Path & [Ô]\ConfigServidor.ini[Ô])
        BASEDADOS = [Ô]minhabasededados[Ô]
        USUARIO = ReadINI([Ô]Conexao[Ô], [Ô]USUARIO[Ô], App.Path & [Ô]\ConfigServidor.ini[Ô])
        SENHA = [Ô]minhasenhadobanco[Ô]
    CON_STR = [Ô]Provider=SQLOLEDB.1;Security Info=False;[Ô] _
                  & [Ô]Data Source=[Ô] & SERVIDOR & [Ô];[Ô] _
                  & [Ô]User ID=[Ô] & USUARIO & [Ô];[Ô] _
                  & [Ô]Password=[Ô] & SENHA & [Ô];[Ô] _
                  & [Ô]Initial Catalog=[Ô] & BASEDADOS & [Ô];[Ô]
        With Conexao
            .CursorLocation = adUseClient
            .ConnectionString = CON_STR
            .Open CON_STR
        End With
    Else
        Conexao.Close
        Set Conexao = Nothing
    End If
erroconexao:
If Err.Number <> 0 Then
MsgBox [Ô]Erro ao conectar[Ô], vbCritical, [Ô]Mensagem[Ô]: Exit Sub
End If
End Function
isso em um modulo para chamar a conexao, no load do form coloque CONECTA TRUE
E abaixo como preencher o grid.
  
[ô]Formatação do Grid Principal
Private Sub FormataGrid()
    Dim WsHeader As String
    With TDBGrid1
        .Clear
        WsHeader = [Ô]|Código|Descrição                                                                                                                                                                                                                                                                                                            | [Ô]
        .FormatString = WsHeader
        .ColWidth(3) = 0
        .Rows = 1
        .FixedRows = 1
        .Cols = 4
        .SelectionMode = 1
    End With
End Sub
[ô]Preenche Grid Principal
Private Sub PreencherGridPrincipal()
    Set MyRs = New ADODB.Recordset
    StrSql = [Ô]select id,findescricao,finativo from cadmotivosfinalizacaoprocessos[Ô]
    MyRs.Open StrSql, Conexao, adOpenStatic, adLockReadOnly
    Call FormataGrid
    If MyRs.RecordCount > 0 Then
        With TDBGrid1
            While Not MyRs.EOF
                .AddItem MyRs!ID & _
                         Chr(9) & Format(MyRs!ID, [Ô]00000[Ô]) & _
                         Chr(9) & MyRs!findescricao & _
                         Chr(9) & MyRs!finativo
                MyRs.MoveNext
            Wend
            .Row = 1: .Col = 0
        End With
        MyRs.Close
        Set MyRs = Nothing
    Else
        TDBGrid1.Clear: TDBGrid1.Row = 0: TDBGrid1.Col = 0: Call FormataGrid
    End If
End Sub
 
                    SQL Via data é assim
Data2.RecordSource = [Ô]SELECT * FROM venda WHERE codigo_venda LIKE[Ô] & [Ô][Ô][Ô][Ô] & [Ô]*[Ô] & txtLoc.Text & [Ô]*[Ô] & [Ô][Ô][Ô][Ô]
Data2.Refresh
Seleciona todos os campos da tabela Venda e Procura pelo Codigo_Venda de acordo com que estiver escrito no TxtLoc
            Data2.RecordSource = [Ô]SELECT * FROM venda WHERE codigo_venda LIKE[Ô] & [Ô][Ô][Ô][Ô] & [Ô]*[Ô] & txtLoc.Text & [Ô]*[Ô] & [Ô][Ô][Ô][Ô]
Data2.Refresh
Seleciona todos os campos da tabela Venda e Procura pelo Codigo_Venda de acordo com que estiver escrito no TxtLoc
                        Tópico encerrado , respostas não são mais permitidas
                    
                

