PEGAR NOMES DOS CAMPOS DE UMA TABELA

LGUSTAVOC 01/04/2005 08:04:17
#76087
Olá amigos,

Por exemplo: Tenho uma tabela chamada NOTAS. A partir desta tabela, queria descobrir através do sistema, quais os nomes dos campos desta tabela.

Espero ter sido claro.

Desde já agradeço
USUARIO.EXCLUIDOS 01/04/2005 08:16:17
#76089
Se o banco for SQL, eu uso uma propriedade do recordset chamada .Fields

Tipo assim:

Rs_Alunos.Fields(x).Name

Onde x é o índice do campo, começando em 0 até o número máximo de campos -1...

Pelo ADO, deve funcionar com qualquer base de dados.
LUCASCORREA 01/04/2005 08:41:46
#76098
Resposta escolhida
Cara acho que é isso que vc quer:


Option Explicit
Dim BD As Database
Dim NOTAS As Recordset
Dim Nome, Tipo, Tamanho As String
Dim I As Double

Private Sub Form_Load()
On Error Resume Next
Set BD = OpenDatabase("C:\Dados.mdb", False, False)
Set NOTAS = BD.OpenRecordset("NOTAS", dbOpenDynaset)

For I = 0 To NOTAS.Fields.Count - 1
Nome = NOTAS.Fields(I).Name
Tipo = TrocaCodigo(NOTAS.Fields(I).Type)
Tamanho = NOTAS.Fields(I).Size
Next I
End Sub

Public Function TrocaCodigo(TCCodigo As String)
If Len(TCCodigo) > 2 Then
If TCCodigo = "Texto" Then
TrocaCodigo = "10"
End If
If TCCodigo = "Moeda" Then
TrocaCodigo = "5"
End If
If TCCodigo = "Numero Inteiro" Then
TrocaCodigo = "3"
End If
If TCCodigo = "Data/Hora" Then
TrocaCodigo = "8"
End If
If TCCodigo = "Sim/Não" Then
TrocaCodigo = "1"
End If
If TCCodigo = "Objeto OLE" Then
TrocaCodigo = "11"
End If
If TCCodigo = "Binário" Then
TrocaCodigo = "9"
End If
If TCCodigo = "Memorando" Then
TrocaCodigo = "12"
End If
Else
If TCCodigo = "10" Then
TrocaCodigo = "Texto"
End If
If TCCodigo = "5" Then
TrocaCodigo = "Moeda"
End If
If TCCodigo = "3" Then
TrocaCodigo = "Numero Inteiro"
End If
If TCCodigo = "8" Then
TrocaCodigo = "Data/Hora"
End If
If TCCodigo = "1" Then
TrocaCodigo = "Sim/Não"
End If
If TCCodigo = "11" Then
TrocaCodigo = "Objeto OLE"
End If
If TCCodigo = "9" Then
TrocaCodigo = "Binário"
End If
If TCCodigo = "12" Then
TrocaCodigo = "Memorando"
End If
End If
End Function
LGUSTAVOC 01/04/2005 10:43:39
#76136
LUCAS,

Era exatamente isso que eu estava precisando. Funcionou blz.

Obrigado
Tópico encerrado , respostas não são mais permitidas