GRAVACAO / RECUPERACAO DE DADOS ACCESS

JEAN.JEDSON 15/07/2005 18:52:41
#94398
pessoal...

tenho algumas dúvidas sobre como gravar/recuperar dados em um banco access: por exemplo, sei que tem que usar # nas datas, [B}'{/B} nos textos... alguém poderia me passar quais os critérios necessários para cada um dos tipos de dados abaixo (gravar e carregar para tela)?

Texto
Memorando
Número
Data/Hora
Moeda
Autonumeração
Sim/Não
Objeto OLE
HyperLink

obrigado.
WEBER 15/07/2005 23:26:42
#94421
to procurando assim q achar algo a contento te mando
JEAN.JEDSON 16/07/2005 07:58:13
#94437
valeu
JEAN.JEDSON 17/07/2005 09:34:23
#94547
mais alguém?
LUIS.HERRERA 17/07/2005 10:09:21
#94553
Jean você me ajudou e agora é minha vez, ainda bem...

Texto - apóstrofo ex: sql....campo = ' " & variavel & " ' ,.....
Memorando - apóstrofo ex: sql....campo = ' " & variavel & " ' ,.....
Número - sem nada ex: sql....campo = " & variavel & " ,.....
Data/Hora - # ex: sql....campo = # " & variavel & " # ,.....
Moeda - sem dana ex: sql....campo = " & Format(valor,"0.000,00") & " ,.....
Autonumeração - sem nada ex: sql....campo = " & variavel & " ,.....
Sim/Não - sem nada ex: sql....campo =' " & variavel & " ,.....
Objeto OLE
HyperLink - apóstrofo ex: sql....campo = ' " & variavel & " ' ,.....


Nota: Ole DB eu nunca usei, mas acredito que seja em modo binário e assim ficaria sem apóstofo, basta fazer um teste.
WEBER 17/07/2005 10:13:34
#94556
jean eu não achei nada a não ser os velhos conhecidos # para data e tal, mas acho q o luis mandou bem
JEAN.JEDSON 17/07/2005 21:04:01
#94609
então galera... falta apenas o Objeto OLE

em tempo: Obrigado LUIS HERRERA
WEBMASTER 17/07/2005 21:49:13
#94614
Gravar objetos ole depende simplesmente de você obter valores de memória para o AppendChunck do campo, basicamente falando você lê o arquivo byte-a-byte e faz o processo de gravação.

Neste exemplo usei DAO...


Option Explicit
Dim m_strPicData As String
Dim m_lngPicLen As Long
Dim m_db As Database

'Pegar uma imagem para um picturebox...
'Depois grava os bytes em memória...
Private Sub cmdGet_Click()
With CDlg
.CancelError = True
.Filter = "*.bmp|*.bmp"
.InitDir = App.Path
.ShowOpen
Picture1.Picture = LoadPicture(.FileName)
Open .FileName For Binary Access Read As #1
m_strPicData = Space$(LOF(1))
Get #1, , m_strPicData
Close #1
End With
End Sub

'Gravar no banco de dados
Private Sub cmdSave_Click()
Dim rs As Recordset
Set m_db = OpenDatabase(App.Path & "\fotos.mdb")
Set rs = m_db.OpenRecordset("Photos")
rs.AddNew
rs.Fields("Photo").AppendChunk m_strPicData
rs.Update
rs.Close
m_db.Close
End Sub

'Limpa a imagem da picturebox
Private Sub cmdClear_Click()
m_strPicData = ""
Picture1.Picture = LoadPicture(m_strPicData)
End Sub

'Pega a imagem do banco de dados
Private Sub cmdRetr_Click()
Dim rs As Recordset
Dim TempFile As String
TempFile = App.Path & "    mp.bmp"
Set m_db = OpenDatabase(App.Path & "\fotos.mdb")
Set rs = m_db.OpenRecordset("Photos")
m_lngPicLen = rs.Fields("Photo").FieldSize
If m_lngPicLen > 0 Then
m_strPicData = rs.Fields("Photo").GetChunk(0, m_lngPicLen)
Open TempFile For Binary As #1
Put #1, , m_strPicData
Close #1
Picture1.Picture = LoadPicture(TempFile)
Kill TempFile
Else
Picture1.Picture = LoadPicture("")
End If
rs.Close
m_db.Close
End Sub
JEAN.JEDSON 17/07/2005 21:56:36
#94615
valeu webmaster...
vou analisar as respostas e em seguida finalizo o tópico.
JEAN.JEDSON 18/07/2005 08:03:09
#94629
bem... retornando a dúvida: ao testar pela propriedade .Type do recordset, temos:

Tipo Descrição
3 AutoNumeração
17 Número (Byte)
2 Número (Inteiro)
3 Número (Inteiro Longo)
4 Número (Simples)
5 Número (Duplo)
72 Número (Código de Replicação)
131 Número (Decimal)
202 Texto
203 Memorando
203 HyperLink
11 Sim/Não (Verdadeiro/Falso)
11 Sim/Não (Sim/Não)
11 Sim/Não (Ativado/Desativado)
6 Moeda (Moeda Geral)
6 Moeda (Moeda)
6 Moeda (Euro)
6 Moeda (Fixo)
6 Moeda (Padrão)
6 Moeda (Porcentagem)
6 Moeda (Científico)
7 Data/Hora (Data Geral)
7 Data/Hora (Data Completa)
7 Data/Hora (Data Normal)
7 Data/Hora (Data Abreviada)
7 Data/Hora (Hora Completa)
7 Data/Hora (Hora Normal)
7 Data/Hora (Hora Abreviada)
205 Objeto OLE

quanto aos tipos:
AutoNumeração
Texto
Memorando
HyperLink
Sim/Não (todos os 3 tipos)
Objeto OLE

está tranquilo... agora, e em relação ao resto, quais seriam as máscaras de formatação (ou seja, para gravação, qual seria a máscara a ser utilizada no Format)???
JEAN.JEDSON 18/07/2005 08:13:07
#94630
opa... achei alguns... me faltam apenas:

6 Moeda (Euro)

17 Número (Byte)
2 Número (Inteiro)
3 Número (Inteiro Longo)
4 Número (Simples)
5 Número (Duplo)
72 Número (Código de Replicação)
131 Número (Decimal)
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas