Como rellenar campos en vb

Iniciado por fedefrankk, 18 Septiembre 2008, 07:05 AM

0 Miembros y 2 Visitantes están viendo este tema.

fedefrankk

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

seba123neo

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.


La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

ssccaann43 ©

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
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

fedefrankk

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

seba123neo

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.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

fedefrankk

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


fedefrankk

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 .

ssccaann43 ©

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...
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

seba123neo

hay hay hay ese codigo se puede reducir un monton ,no se para que tantos bucles FOR si con uno basta y sobra...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

fedefrankk

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