FLEXGRID MYSQL

DEVNETWEB 27/05/2013 17:33:29
#424107
Prezados(as), boa noite

Estou precisando muito de ajuda, trabalhei com VB a uns 7 anos atras e esqueci de muita coisa. Seguinte :

Tenho um sistema que gera as Tags Rfid em um flexgrid, porem gostaria que assim que a flexgrid fosse populada automaticamente fosse gravado em uma tabela em um banco mysql e nao estou sabendo fazer.

TABELAS:

ITEM: As peças e instrumentos cirúrgicos
REGISTRO: Tabela para salvar o lote registrado
REGISTRO_ITEM: Tabela de relacionamento entre o registro e os itens a serem registrados
ACONDICIONAMENTO: Tabela de relacionamento de item com item para determinar os instrumentos (um item) que pertencem ao acondicionamento (outro item)
LOG: Tabela de logs de leitura

Os chips devem ser cadastrados na tabela ITEM. O campo descrição pode ser nulo para preenchimento posterior.
O programa do leitor deve salvar o registro de cada chip encontrado na tabela LOG.


Voces podem me ajudar?.

Grato


OMAR2011 27/05/2013 20:24:17
#424116
Se o Flexgrid for preenchido apartir da primeira coluna e segunda coluna fica asssim.
Private Sub Command17_Click()
Dim f As Integer
With MSFlexGrid1
For f = 1 To .Rows - 1
[ô]Primeira coluna.
sSql = [Ô]INSERT INTO Teste(Cod,Nome,Fone) Values ([ô][Ô] & .TextMatrix(f, 0) & [Ô][ô],[ô][Ô] & .TextMatrix(f, 1) & [Ô][ô],[ô][Ô] & .TextMatrix(f, 2) & [Ô][ô])[Ô]
[ô]Segunda coluna
sSql = [Ô]INSERT INTO Teste(Cod,Nome,Fone) Values ([ô][Ô] & .TextMatrix(f, 1) & [Ô][ô],[ô][Ô] & .TextMatrix(f, 2) & [Ô][ô],[ô][Ô] & .TextMatrix(f, 3) & [Ô][ô])[Ô]
cn.Execute (sSql)
Next f
End With
End Sub
Feito com Mysql.
MARCELO.TREZE 28/05/2013 09:22:49
#424131
colega facilita se você postar como popula a flexgrid, pois a partir dai poderíamos citar exemplos.
DEVNETWEB 28/05/2013 11:06:06
#424143
Option Explicit
[ô](AlienRFID2.tlb)
[ô]IPAddress + Command port.

Dim WithEvents Reader As clsReader
Dim Settings As ReaderInfo
Dim msTagList As String
Dim mbAuto As Boolean
Dim mbClosing As Boolean

Private Sub btnGetTags_Click()
Call GetTags

Call ParseTagList

[ô]myGrid.DataSource = conectaMysql.Recordset.Update
[ô] Set myGrid.DataSource = dg.AddNewMode = dbgAddNewCurrent
Dim i As Variant
i = 1
If myGrid.TextMatrix(1, 1) = [Ô][Ô] Then MsgBox [Ô]Nenhum dado[Ô], vbCritical

[ô]Exit Sub

[ô][ô][ô] Exportar o conteúdo da grade para um arquivo .CSV
Open [Ô]c:\Tags.csv[Ô] For Output As #1
For i = 0 To myGrid.Rows - 1
Print #1, myGrid.TextMatrix(i, 0) & [Ô];[Ô];
Print #1, myGrid.TextMatrix(i, 1) & [Ô];[Ô];
Print #1, myGrid.TextMatrix(i, 2) & [Ô];[Ô];
Print #1, myGrid.TextMatrix(i, 3)
[ô] Print #1, myGrid.TextMatrix(i, 4)
Next i
Close #1
[ô]MsgBox [Ô]A exportação foi concluída com êxito![Ô], , [Ô]Programação On-Line[Ô]

[ô]Shell [Ô]cmd.exe LOAD DATA LOCAL INFILE [ô]c:    ags.csv[ô] REPLACE INTO TABLE 'telao'.'base' FIELDS TERMINATED BY [ô],[ô] OPTIONALLY ENCLOSED BY [ô][Ô] [ô] ESCAPED BY [ô][Ô][ô] LINES TERMINATED BY [ô]
[ô] IGNORE 1 LINES ('COD_SS', 'RESUMO', 'ESCOPO', 'MOTIVO_STATUS', 'NMCLUSTER', 'DATA_SOLICITACAO', 'LOGIN_TRIAGEM', 'RESULTADO', 'ARD', 'SHELF', 'NMREGIONAL', 'HORA_APURACAO');

End Sub

Private Sub btnParse_Click()
[ô] conectaMysql.Recordset.AddNew
Call ParseTagList

[ô]myGrid.DataSource = conectaMysql.Recordset.Update
[ô] Set myGrid.DataSource = dg.AddNewMode = dbgAddNewCurrent
Dim i As Variant
i = 1
If myGrid.TextMatrix(1, 1) = [Ô][Ô] Then Exit Sub

[ô][ô][ô] Exportar o conteúdo da grade para um arquivo .CSV
Open [Ô]d:\Tags.csv[Ô] For Output As #1
For i = 0 To myGrid.Rows - 1
Print #1, myGrid.TextMatrix(i, 0) & [Ô];[Ô];
Print #1, myGrid.TextMatrix(i, 1) & [Ô];[Ô];
Print #1, myGrid.TextMatrix(i, 2) & [Ô];[Ô];
Print #1, myGrid.TextMatrix(i, 3)
[ô] Print #1, myGrid.TextMatrix(i, 4)
Next i
Close #1
MsgBox [Ô]A exportação foi concluída com êxito![Ô], , [Ô]Programação On-Line[Ô]



End Sub

Private Sub Command1_Click()
conectaMysql.Recordset.Update
End Sub

Private Sub Form_Load()

If Not mbClosing Then
Set Settings = New ReaderInfo
[ô]
With Settings
[ô] Conexao da rede
.InterfaceType = ComInterface_enumTCPIP
.ipaddress = [Ô]192.168.1.100[Ô]
.TelnetPort = 23
[ô] serial
[ô] .InterfaceType = ComInterface_enumSerial
[ô] .ComPort = 1
End With

Set Reader = New clsReader

Reader.ComTimeOutInterval = 7000

Reader.WriteSettings Settings

Debug.Print Reader.Connect
If Settings.InterfaceType = ComInterface_enumTCPIP Then
Debug.Print Reader.Login([Ô]alien[Ô], [Ô]password[Ô])
End If
Me.Caption = [Ô]Conectado = [Ô] & Reader.IsConnected
If Not Reader.IsConnected Then
optAuto.Enabled = False
Else
Reader.AutoMode = [Ô]On[Ô]
Reader.TagListFormat = [Ô]Text[Ô]
End If
End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
optManual.Value = True
optManual_Click
If Not Reader Is Nothing Then
If Reader.IsConnected Then Reader.AutoMode = [Ô]Off[Ô]
End If

End Sub

Private Sub Form_Unload(Cancel As Integer)
mbClosing = True
If Not Reader Is Nothing Then
Reader.Disconnect
Set Reader = Nothing
End If
DoEvents
End Sub

Private Sub myGrid_Click()
[ô][ô][ô] Validar se a grade está carregada



End Sub

Private Sub optAuto_Click()
If Not Reader Is Nothing And Not mbClosing Then
mbAuto = optAuto.Value
If mbAuto Then
btnGetTags.Enabled = False
btnParse.Enabled = False
End If
While mbAuto And Not mbClosing
Call GetTags
Call ParseTagList
DoEvents
Wend
If Not mbClosing Then
btnGetTags.Enabled = True
btnParse.Enabled = True
End If
End If
End Sub

Private Sub optManual_Click()
mbAuto = Not optManual.Value
End Sub

Private Sub Reader_MessageReceived(ByVal data As String)
If Not mbClosing Then
Text1.Text = Text1.Text & data
End If
End Sub

Private Sub GetTags()
If Not mbClosing Then
Screen.MousePointer = vbHourglass
If Reader.IsConnected Then
msTagList = Reader.TagList
Text1.Text = msTagList
[ô]aqui dallas

Else
MsgBox [Ô]Não conectado[Ô]
End If
DoEvents
Screen.MousePointer = vbDefault
End If
End Sub

Private Sub ParseTagList()
Dim t() As TagInfo
Dim i As Integer
Dim bParseResult As Boolean

On Error GoTo errHandler
If Not mbClosing Then
myGrid.Rows = 1
Screen.MousePointer = vbHourglass
bParseResult = Reader.ParseTagList(msTagList, t)
If (bParseResult) Then
myGrid.FixedCols = 0
myGrid.FormatString = [Ô]^TagID |^LastSeenTime |^ReadCount |^Antenna [Ô]
For i = 0 To UBound(t)
myGrid.AddItem (t(i).TagID & vbTab & _
t(i).LastSeenTime & vbTab & _
t(i).ReadCount & vbTab & _
t(i).Antenna)
Next
myGrid.ColWidth(-1) = myGrid.Width / 4 - 30
lblStatus.Caption = i & [Ô] tags encontrado(s).[Ô]
[ô]Inserir o insert para passar os dados para a tabela aqui



Else
lblStatus.Caption = [Ô]Não foi possível passar a lista.[Ô]
End If
myGrid.Refresh
Screen.MousePointer = vbDefault
End If

Exit Sub
errHandler:
Debug.Print Err.Description
Debug.Print msTagList
Debug.Print
Screen.MousePointer = vbDefault
End Sub


Obs : Tem uma parte do codigo que mandei gerar um arquivo CSV porque nao consegui enviar os dados para o mysql, pode descartar ok. Segue anexo o codigo
DEVNETWEB 28/05/2013 14:42:53
#424151
Anexo segue o documento, preciso que o conteudo do flexgrid seja gravado na tabela log.
DEVNETWEB 28/05/2013 14:59:13
#424154
Segue em anexo o codigo, precisa renomear para .RAR ok.
MARCELO.TREZE 29/05/2013 08:38:03
#424182
Então colega bom dei uma olhada no seu código e percebi que você preenche o mesmo com dados do MySQL, depois gera um arquivo de log, porém não entendi o que você pretende fazer agora, pois se o flex foi prechido com dados,e me parece qiue estes dados não são atualizados, então porque enviar de volta pro mysql.

por favor tente ser mais claro, de preferência explique em que parte do código deseja fazer esta adaptação, mas somente a parte do código que interessar.
DEVNETWEB 29/05/2013 10:07:27
#424186
Nao, na verdade eu colei um codigo de mysql mas nao esta funcionando.

Assim :

Este programa serve para fazer a leitura das Tags RFID mas nao tinha conexao com banco de dados a parte de exportar pra um arquivo eu fiz pra quebrar um galho mas o que eu gostaria era o seguinte :

O programa le os dados tags com o leitor RFID e cai na flexgrid - Isto está ok
No mesmo botao que faz a leitura, gostaria que ele ao ler e preencher a flexgrid automaticamente inputar os dados na tabela log.
Verifique que esta comentado o codigo que preciso que leia as Tags (funcionando) e depois colocar os dados que estao na flexgrid na tabela log do mysql(nao esta funcionando)



Option Explicit
[ô](AlienRFID2.tlb)
[ô]IPAddress + Command port.

Dim WithEvents Reader As clsReader
Dim Settings As ReaderInfo
Dim msTagList As String
Dim mbAuto As Boolean
Dim mbClosing As Boolean

Private Sub btnGetTags_Click()
Call GetTags

Call ParseTagList

Dim i As Variant
i = 1
If myGrid.TextMatrix(1, 1) = [Ô][Ô] Then MsgBox [Ô]Nenhum dado[Ô], vbCritical

[ô]Exit Sub

[ô] Aqui e que vem o codigo de conexao com mysql e a gravacao dos dados que foram capturados da flexgrid para a tabela log.


End Sub

DEVNETWEB 31/05/2013 16:26:12
#424264

Alguem pode me ajudar???
Faça seu login para responder