Access - AYUDA POR FAVOR

 
Vista:

AYUDA POR FAVOR

Publicado por GORKA (6 intervenciones) el 25/04/2007 11:00:39
buenos dias tengo un pequeño problema haber si me lo podeis solucionar quisiera substituir en una cadena el nombre de un campo por su valor en una tabla ejemplo:

"diametro d1 mm","d1" abria q coger su valor desde una tabla y la frase se introduciria desde un formulario ,A mi se me ocurrio hacer esto:

Set RSETI = CodeDb.OpenRecordset("Select * from [valores_d1] ORDER BY ASC")
RSETI.MoveFirst
Do While Not RSETI.EOF
Replace(CAMPO01, "D1", D1=RSETI![D1])<--- 'he aqui mi problema creo q esto no puede ser asi'
'luego quiero hacer una insert en otra tabla con el valor campo01 que tampoco se hacer'
RSETI.MoveNext
Loop

Alguien me puede ayudar ??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Reemplazar y insertar valores desde una tabla

Publicado por Alejandro (4142 intervenciones) el 09/08/2023 20:41:51
Parece que estás en el camino correcto, pero necesitas ajustar tu enfoque. Aquí tienes un código que podría ayudarte a lograr lo que estás buscando:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Dim db As DAO.Database
Dim rstSource As DAO.Recordset
Dim rstDest As DAO.Recordset
Dim strSql As String
Dim fieldName As String
Dim replacementValue As Variant
 
' Abre la base de datos actual
Set db = CurrentDb
 
' Abre un recordset con los valores de la tabla [valores_d1]
Set rstSource = db.OpenRecordset("valores_d1", dbOpenSnapshot)
 
' Abre un recordset para la tabla de destino donde deseas insertar los valores
Set rstDest = db.OpenRecordset("nombre_de_la_tabla_de_destino", dbOpenDynaset)
 
' Itera a través de los registros en rstSource
Do While Not rstSource.EOF
    ' Obtiene el nombre del campo y su valor desde rstSource
    fieldName = rstSource("nombre_del_campo").Value
    replacementValue = rstSource("valor_del_campo").Value
 
    ' Reemplaza el valor en la cadena CAMPO01
    CAMPO01 = Replace(CAMPO01, fieldName, replacementValue)
 
    ' Agrega un nuevo registro al recordset de destino
    rstDest.AddNew
    rstDest("campo_destino").Value = CAMPO01
    rstDest.Update
 
    ' Mueve al siguiente registro en rstSource
    rstSource.MoveNext
Loop
 
' Cierra los recordsets
rstSource.Close
rstDest.Close
 
' Limpia y libera recursos
Set rstSource = Nothing
Set rstDest = Nothing
Set db = Nothing

Asegúrate de reemplazar `"nombre_de_la_tabla_de_destino"` y `"campo_destino"` con los nombres reales de la tabla y el campo donde deseas insertar los valores reemplazados.

Este código toma cada registro de la tabla `[valores_d1]`, reemplaza el nombre del campo en la cadena `CAMPO01` con su respectivo valor y luego inserta el resultado en la tabla de destino.

Recuerda que este es solo un ejemplo de cómo podrías abordar el problema. Puedes ajustar y personalizar el código según tus necesidades específicas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar