DBF DE NOVO
Olá amigo, achei , Abs
http://www.tek-tips.com/viewthread.cfm?qid=729740
http://www.tek-tips.com/viewthread.cfm?qid=436562
Private Sub Command1_Click()
Dim DBConn As Connection
Set DBConn = OpenDBFConn([Ô]C: este[Ô])
Dim Persons As Recordset
Set Persons = DBConn.Execute([Ô]Select * from [Teste][Ô])
your_year = 2012
your_month = 2
your_day = 27
DBConn.Execute [Ô]Insert into Teste ( COD,REF,NUN,DATA) Values([ô]00002[ô],[ô]00002[ô], 2 , date([Ô] & your_year & [Ô],[Ô] & your_month & [Ô],[Ô] & your_day & [Ô]) )[Ô]
End Sub
Function OpenDBFConn(Path)
Dim Conn As Connection
Set Conn = CreateObject([Ô]ADODB.Connection[Ô])
Conn.Open ([Ô]Driver=Microsoft Visual Foxpro Driver; UID=;SourceType=DBF;SourceDB=c:\Teste\[Ô])
Set OpenDBFConn = Conn
End Function
alias o site tek-pics é um dos sites , mais feras que já vi
http://www.tek-tips.com/viewthread.cfm?qid=729740
http://www.tek-tips.com/viewthread.cfm?qid=436562
Private Sub Command1_Click()
Dim DBConn As Connection
Set DBConn = OpenDBFConn([Ô]C: este[Ô])
Dim Persons As Recordset
Set Persons = DBConn.Execute([Ô]Select * from [Teste][Ô])
your_year = 2012
your_month = 2
your_day = 27
DBConn.Execute [Ô]Insert into Teste ( COD,REF,NUN,DATA) Values([ô]00002[ô],[ô]00002[ô], 2 , date([Ô] & your_year & [Ô],[Ô] & your_month & [Ô],[Ô] & your_day & [Ô]) )[Ô]
End Sub
Function OpenDBFConn(Path)
Dim Conn As Connection
Set Conn = CreateObject([Ô]ADODB.Connection[Ô])
Conn.Open ([Ô]Driver=Microsoft Visual Foxpro Driver; UID=;SourceType=DBF;SourceDB=c:\Teste\[Ô])
Set OpenDBFConn = Conn
End Function
alias o site tek-pics é um dos sites , mais feras que já vi
Resumindo a linha ficaria , colocando entre virgulas e usando comando date
DBConn.Execute [Ô]Insert into Teste ( COD,REF,NUN,DATA) Values([ô]00002[ô],[ô]00002[ô], 2 , date(2012,02,27) )[Ô]
DBConn.Execute [Ô]Insert into Teste ( COD,REF,NUN,DATA) Values([ô]00002[ô],[ô]00002[ô], 2 , date(2012,02,27) )[Ô]
aleda, deu certo a inserção ao banco dbf, mais a linha não estou conseguindo fazer, dá erro:
v_Sql = [Ô]INSERT INTO TESTE (COD,REF,NUN,DATA)[Ô]
v_Sql = v_Sql + [Ô] VALUES ([Ô]
v_Sql = v_Sql + [Ô][ô][Ô] & v_Cod & [Ô][ô],[ô][Ô] & v_Ref & [Ô][ô],0[Ô] & [Ô][ô],[ô][Ô] & date([Ô] & your_year & [Ô],[Ô] & your_month & [Ô],[Ô] & your_day & [Ô]))[Ô]
o que tem de errado ae?
Valeu
v_Sql = [Ô]INSERT INTO TESTE (COD,REF,NUN,DATA)[Ô]
v_Sql = v_Sql + [Ô] VALUES ([Ô]
v_Sql = v_Sql + [Ô][ô][Ô] & v_Cod & [Ô][ô],[ô][Ô] & v_Ref & [Ô][ô],0[Ô] & [Ô][ô],[ô][Ô] & date([Ô] & your_year & [Ô],[Ô] & your_month & [Ô],[Ô] & your_day & [Ô]))[Ô]
o que tem de errado ae?
Valeu
Dim DBConn As Connection
Set DBConn = OpenDBFConn([Ô]C: este[Ô])
Dim Persons As Recordset
Set Persons = DBConn.Execute([Ô]Select * from [Teste][Ô])
v_Cod = [Ô]00002[Ô]
v_Ref = [Ô]00002[Ô]
v_Nun = 2
v_data = Date
Dim d1, d2, d3 As Single
d1 = DatePart([Ô]d[Ô], v_data)
d2 = DatePart([Ô]m[Ô], v_data)
d3 = DatePart([Ô]yyyy[Ô], v_data)
v_Sql = [Ô]INSERT INTO TESTE (COD,REF,NUN,DATA)[Ô]
v_Sql = v_Sql + [Ô] VALUES ([Ô]
v_Sql = v_Sql + [Ô] [ô][Ô] & v_Cod & [Ô][ô],[ô][Ô] & v_Ref & [Ô][ô],[Ô] & v_Nun & [Ô], date([Ô] & d3 & [Ô],[Ô] & d2 & [Ô],[Ô] & d1 & [Ô]) ) [Ô]
DBConn.Execute v_Sql
Set DBConn = OpenDBFConn([Ô]C: este[Ô])
Dim Persons As Recordset
Set Persons = DBConn.Execute([Ô]Select * from [Teste][Ô])
v_Cod = [Ô]00002[Ô]
v_Ref = [Ô]00002[Ô]
v_Nun = 2
v_data = Date
Dim d1, d2, d3 As Single
d1 = DatePart([Ô]d[Ô], v_data)
d2 = DatePart([Ô]m[Ô], v_data)
d3 = DatePart([Ô]yyyy[Ô], v_data)
v_Sql = [Ô]INSERT INTO TESTE (COD,REF,NUN,DATA)[Ô]
v_Sql = v_Sql + [Ô] VALUES ([Ô]
v_Sql = v_Sql + [Ô] [ô][Ô] & v_Cod & [Ô][ô],[ô][Ô] & v_Ref & [Ô][ô],[Ô] & v_Nun & [Ô], date([Ô] & d3 & [Ô],[Ô] & d2 & [Ô],[Ô] & d1 & [Ô]) ) [Ô]
DBConn.Execute v_Sql
aleda, mais uma coisinha, essa variavel que vc difiniu: V_NUM vc declara ela como?
digo assim, eu tenho que passar para o INSERT assim: 2 e não [ô]2[ô], porque dá type mismach no banco como seria?
Valeu
Joerbeth
digo assim, eu tenho que passar para o INSERT assim: 2 e não [ô]2[ô], porque dá type mismach no banco como seria?
Valeu
Joerbeth
Datetype mistach é que vc ta passando caracter em numerico ou numerico em caracter
seguinte ,
Caracter exige aspas simples
numerico nao usa aspas simples
1 __________________________________________
V_NUM = [Ô]& v_Nun & [Ô] - Aspas Duplas
V_NUM é numerico
onde
Abre dupla [ô][Ô] [Ô][ô] Fecha Dupla
2____________________________________________
V_NUM = [ô][Ô] & v_Nun & [Ô][ô] - Aspas Simples + Aspas Duplas
V_NUM é caracter
onde
Abre Simples Abre dupla [ô][Ô] [Ô][ô] Fecha Dupla Fecha Simples
se voce quer 2 assim , use caso 1
se voce quer passar [ô]2[ô] use o caso 2
seguinte ,
Caracter exige aspas simples
numerico nao usa aspas simples
1 __________________________________________
V_NUM = [Ô]& v_Nun & [Ô] - Aspas Duplas
V_NUM é numerico
onde
Abre dupla [ô][Ô] [Ô][ô] Fecha Dupla
2____________________________________________
V_NUM = [ô][Ô] & v_Nun & [Ô][ô] - Aspas Simples + Aspas Duplas
V_NUM é caracter
onde
Abre Simples Abre dupla [ô][Ô] [Ô][ô] Fecha Dupla Fecha Simples
se voce quer 2 assim , use caso 1
se voce quer passar [ô]2[ô] use o caso 2
Ok, eu resolvi isso ae, mais obrigado, agora o probleminha é outro, tem um campo no banco de dados DBF, que é LOGICAL, deve ser [Ô]True / False[Ô] e esse campo, tem um caracter, digo isso, porque os dados que existem lá, são F ou T, agora, defini uma var como Boolean, quando tento passar F ou T, não consigo???, se tento jogar um F ou T não rola tb, dá erro, como eu resolvo isso?, porque só aceita F ou T...
Valeu
joerbeth
Valeu
joerbeth
Veja se te ajuda
Set DBConn = OpenDBFConn([Ô]X:\diretorio[Ô])
Function OpenDBFConn(Path)
Dim Conn As Connection
Set Conn = CreateObject([Ô]ADODB.Connection[Ô])
Conn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & Path & [Ô];[Ô] & _
[Ô]Extended Properties=[Ô][Ô]DBASE IV;[Ô][Ô];[Ô]
Set OpenDBFConn = Conn
End Function
Set DBConn = OpenDBFConn([Ô]X:\diretorio[Ô])
Function OpenDBFConn(Path)
Dim Conn As Connection
Set Conn = CreateObject([Ô]ADODB.Connection[Ô])
Conn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & Path & [Ô];[Ô] & _
[Ô]Extended Properties=[Ô][Ô]DBASE IV;[Ô][Ô];[Ô]
Set OpenDBFConn = Conn
End Function
Ok, eu resolvi isso ae, mais obrigado, agora o probleminha é outro, tem um campo no banco de dados DBF, que é LOGICAL, deve ser [Ô]True / False[Ô] e esse campo, tem um caracter, digo isso, porque os dados que existem lá, são F ou T, agora, defini uma var como Boolean, quando tento passar F ou T, não consigo???, se tento jogar um F ou T não rola tb, dá erro, como eu resolvo isso?, porque só aceita F ou T...
Valeu
joerbeth
Valeu
joerbeth
v_Cod = [Ô]00002[Ô]
v_Ref = [Ô]00002[Ô]
v_Nun = 2
v_data = Date
v_Tipo = [Ô].T.[Ô]
Dim d1, d2, d3 As Single
d1 = DatePart([Ô]d[Ô], v_data)
d2 = DatePart([Ô]m[Ô], v_data)
d3 = DatePart([Ô]yyyy[Ô], v_data)
v_Sql = [Ô]INSERT INTO TESTE (COD,REF,NUN,DATA,TIPO)[Ô]
v_Sql = v_Sql + [Ô] VALUES ([Ô]
v_Sql = v_Sql + [Ô] [ô][Ô] & v_Cod & [Ô][ô],[ô][Ô] & v_Ref & [Ô][ô],[Ô] & v_Nun & [Ô], date([Ô] & d3 & [Ô],[Ô] & d2 & [Ô],[Ô] & d1 & [Ô]), [Ô] & v_Tipo & [Ô] ) [Ô]
DBConn.Execute v_Sql
o logical voce precisa informar os pontinhos antes e depois
.T. ou .F. ..... em caracter , mais sem aspas simples ...... no insert .
v_Ref = [Ô]00002[Ô]
v_Nun = 2
v_data = Date
v_Tipo = [Ô].T.[Ô]
Dim d1, d2, d3 As Single
d1 = DatePart([Ô]d[Ô], v_data)
d2 = DatePart([Ô]m[Ô], v_data)
d3 = DatePart([Ô]yyyy[Ô], v_data)
v_Sql = [Ô]INSERT INTO TESTE (COD,REF,NUN,DATA,TIPO)[Ô]
v_Sql = v_Sql + [Ô] VALUES ([Ô]
v_Sql = v_Sql + [Ô] [ô][Ô] & v_Cod & [Ô][ô],[ô][Ô] & v_Ref & [Ô][ô],[Ô] & v_Nun & [Ô], date([Ô] & d3 & [Ô],[Ô] & d2 & [Ô],[Ô] & d1 & [Ô]), [Ô] & v_Tipo & [Ô] ) [Ô]
DBConn.Execute v_Sql
o logical voce precisa informar os pontinhos antes e depois
.T. ou .F. ..... em caracter , mais sem aspas simples ...... no insert .
Tópico encerrado , respostas não são mais permitidas