Separar Campos en Access
Publicado por Juan Fernández (3 intervenciones) el 19/07/2008 02:27:27
Hola que tal, bueno es primera vez que creo un tema aquí, ojala que me puedan ayudar.
El problema que tengo es que quiero separar campos en Access por ejemplo tengo en el campo nombre:
FERNANDEZ MOROA FACUNDO ALBERTO
Y lo que yo quiero es que esto quede en 4 campos por ejemplo:
AP_PATERNO AP_MATERNO PR_NOMBRE SG_NOMBRE
FERNANDEZ MOROA FACUNDO ALBERTO
Algo así, navegando y navegando por Internet encontre este código pero no lo puedo vincular a mi módulo de conexión, les dejo los códigos haber si ud. me pueden ayudar, bueno no soy experto pero hago lo que puedo.
Este es del formulario FrmSeparar
Private Sub CmdOrdenar_Click()
Dim databs As Object
Dim rst As Object
Dim misql As String
Dim miArray() As String
databs = glbConexion
Set databs = CurrentDb(gblConexion)
misql = "SELECT Nombre, Ap_Paterno, Ap_Materno, Pr_Nombre, Sg_Nombre FROM DE_LA_ARAUCANIA;"
Set rst = databs.OpenRecordSet(misql)
If rst.EOF Then
MsgBox "No hay registros!"
Else
rst.MoveFirst
While (Not (rst.EOF))
miArray = Split(rst!CampoOriginal & " ", " ", " ", " ")
rst.Edit
rst!Ap_Paterno = miArray(0)
rst!Ap_Materno = miArray(1)
rst!Pr_Nombre = miArray(2)
rst!Sg_Nombre = miArray(3)
rst.Update
rst.MoveNext
Wend
End If
rst.Close
End Sub
Y este es del módulo de conexión
Option Explicit
Public glbConexion As ADODB.Connection
Function CurrentDb(glbConexion)
On Error GoTo MensajeError
Set glbConexion = New ADODB.Connection
With glbConexion
.CursorLocation = adUseClient
.ConnectionTimeout = 15 'Segundos
.CommandTimeout = 15 'Segundos
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").Value = App.Path & "DE_LA_ARAUCANIA.mdb"
.Properties("User ID").Value = "Admin"
.Properties("Jet OLEDB:Database Password").Value = ""
.Open
End With
Exit Function
MensajeError:
MsgBox Err.Description, vbCritical
End Function
Ojala me puedan ayudar, muchas gracias
El problema que tengo es que quiero separar campos en Access por ejemplo tengo en el campo nombre:
FERNANDEZ MOROA FACUNDO ALBERTO
Y lo que yo quiero es que esto quede en 4 campos por ejemplo:
AP_PATERNO AP_MATERNO PR_NOMBRE SG_NOMBRE
FERNANDEZ MOROA FACUNDO ALBERTO
Algo así, navegando y navegando por Internet encontre este código pero no lo puedo vincular a mi módulo de conexión, les dejo los códigos haber si ud. me pueden ayudar, bueno no soy experto pero hago lo que puedo.
Este es del formulario FrmSeparar
Private Sub CmdOrdenar_Click()
Dim databs As Object
Dim rst As Object
Dim misql As String
Dim miArray() As String
databs = glbConexion
Set databs = CurrentDb(gblConexion)
misql = "SELECT Nombre, Ap_Paterno, Ap_Materno, Pr_Nombre, Sg_Nombre FROM DE_LA_ARAUCANIA;"
Set rst = databs.OpenRecordSet(misql)
If rst.EOF Then
MsgBox "No hay registros!"
Else
rst.MoveFirst
While (Not (rst.EOF))
miArray = Split(rst!CampoOriginal & " ", " ", " ", " ")
rst.Edit
rst!Ap_Paterno = miArray(0)
rst!Ap_Materno = miArray(1)
rst!Pr_Nombre = miArray(2)
rst!Sg_Nombre = miArray(3)
rst.Update
rst.MoveNext
Wend
End If
rst.Close
End Sub
Y este es del módulo de conexión
Option Explicit
Public glbConexion As ADODB.Connection
Function CurrentDb(glbConexion)
On Error GoTo MensajeError
Set glbConexion = New ADODB.Connection
With glbConexion
.CursorLocation = adUseClient
.ConnectionTimeout = 15 'Segundos
.CommandTimeout = 15 'Segundos
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").Value = App.Path & "DE_LA_ARAUCANIA.mdb"
.Properties("User ID").Value = "Admin"
.Properties("Jet OLEDB:Database Password").Value = ""
.Open
End With
Exit Function
MensajeError:
MsgBox Err.Description, vbCritical
End Function
Ojala me puedan ayudar, muchas gracias
Valora esta pregunta


0