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