Hola a todos tengo el siguiente codigo
x = "insert into stock values (" & Val(Text1) & ",'" & Text2 & "'," & Val(Text3) & "," & Val(Text4) & "," & Val(Text5) & ")"
conexion_basedatos.Execute x
Quisiera rellenar los campos no se si se puede con un while y random en cada text, el text1 es numerico nomas.. el text2 es texo, el 3,4,5 son numeros de 3 cifras.. si alguin me da una ayudita.. gracias
saludos federico
Hola, al INSERT INTO le tenes que decir los campos a insertar ahi solo pones los valores...es algo asi:
INSERT INTO Clientes (campo1,campo2) VALUES (valorcampo1,valorcampo2)
saludos.
1ero, que base de datos estás usando?
Por qué la pregunta?
Pues porque en access puedes colocar '" & Text1.Text & "' asi el campo sea numerico y lo acepta... Pero si es SQL Server pues le quitas las comillas simples...
2do, coloca los campos completos y te escribo el query. Un saludo.
Nota: Pero es como te lo explica seba123neo... ;D
Hola gracias por las respuesta, la base de datos es acces y lo que en realidad necesito es llenar por ejemplo 100 campos de la base de datos, automaticamente..
gracias
fede
pues si entonces es eso, lo podes hacer con un bucle For...For Variable = 0 to 100 haces el INSERT INTO...pero fijate de ir cambiando los valores mientras insertas porque te puede dar un error de clave duplicada si un campo es clave de la tabla...
saludos.
Hola si pense algo asi mira ..
Private Sub Command1_Click()
For x = 1 To 100
Dim Num As Byte
Num = Int(255 - 1) * Rnd + 0
Text1.Text = Num
Next x
End Sub
y rellenar todo los campos..
seria asi?
saludos y grax
Hola lo hice pero me sale error que el objeto esta abierto aca dejo el codigo, lo que quiero hacer es que si busca y encuentra, que no grabe, si no encuentra que grabe los datos en num1 que es el unico que no puede ser duplicado..
Private Sub Command1_Click()
Dim Num1 As Byte
Dim Num2 As Byte
Dim Num3 As Byte
Dim Num4 As Byte
Dim Num5 As Byte
Call abrir
Num1 = Int(255 - 1) * Rnd + 0
Num2 = Int(255 - 1) * Rnd + 0
Num3 = Int(255 - 1) * Rnd + 0
Num4 = Int(255 - 1) * Rnd + 0
Num5 = Int(255 - 1) * Rnd + 0
For Num1 = 1 To 100
For Num2 = 1 To 100
For Num3 = 1 To 100
For Num4 = 1 To 100
For Num5 = 1 To 100
'conexion_basedatos.Close
x = "Select * from stock where codigo =" & Val(Num1) & " "
tablas_apertura.Open x, conexion_basedatos
Next Num5
Next Num4
Next Num3
Next Num2
Next Num1
conexion_basedatos.Close
If tablas_apertura.EOF = True And tablas_apertura.BOF = True Then
x = "insert into stock values (" & Val(Num1) & ",'" & Num2 & "'," & Val(Num3) & "," & Val(Num4) & "," & Val(Num5) & ")"
'conexion_basedatos.Execute x
MsgBox "Se grabo correctamente"
Else
End If
End Sub
y el modulo es :
Public conexion_basedatos As New ADODB.Connection
Public tablas_apertura As New ADODB.Recordset
Global datos As String
Sub abrir()
conexion_basedatos.ConnectionString = App.Path + "\BASE_DATOS_STOCK.mdb"
conexion_basedatos.Provider = "microsoft.jet.oledb.4.0"
conexion_basedatos.Open
End Sub
Sub cerrar()
conexion_basedatos.Close
End Sub
Saludos
Federico .
Dentro del for abre la bd ejecutas el query y la cierras... No puedes mantener la conex abierta y ejecutar querys porque te generara ese error...
hay hay hay ese codigo se puede reducir un monton ,no se para que tantos bucles FOR si con uno basta y sobra...
saludos.
Hola, si se que se puede ahorrar codigo, me darian una mano.. porque se hasta hay nomas, estuve buscando en google y nada encontre.
saludos a todos
fede