No das muchos detalles sobre la pregunta, pero bueno, vamos a ver que tal va : Aquí tienes un código de ejemplo en el que crea una base de datos Access ( no se si será el caso) y se le añade una tabla con sus correspondientes columnas ( columns. Append "NombreColumna", TipodelCampo Una vez hecho esto se le añade un registro. Dim catAccess as new ADOX.Catalog Dim tblValExp as new ADOX.Table Dim cnnAccess as new ADODB.Connection Dim rstValExp as new ADODB.Recordset catAccess.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\testbed\test1.mdb;Jet OLEDB:Engine Type=4;" catAccess.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\testbed\test1.mdb" With tblValExp .Name = "tblValExp1" . Columns. Append "Stock Name", adVarWChar, 40 . Columns. Append "Stock Symbol", adVarWChar, 6 . Columns. Append "Stock Price", adSingle . Columns. Append "Est date", adVarWChar, 10 . Columns. Append "Est Year", adVarWChar, 6 . Columns. Append "Price High(0)", adSingle . Columns. Append "Price High(1)", adSingle . Columns. Append "Price High(2)", adSingle . Columns. Append "Price High(3)", adSingle . Columns. Append "Price High(4)", adSingle . Columns. Append "Price High(5)", adSingle End With catAccess.Tables.Append tblValExp set tblValExp = nothing set catAccess = nothing cnnAccess.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\testbed\test1.mdb;Persist Security Info=false" rstValExp.Open "SELECT * FROM tblValExp1", cnnAccess, adOpenKeyset, adLockOptimistic rstValExp.AddNew rstValExp.Fields(0).Value = "Name" rstValExp.Fields(1).Value = "Symbol" rstValExp.Fields(2).Value = 1.5 rstValExp.Fields(3).Value = Format(Now(), "dd/mm/yyyy") rstValExp.Fields(4).Value = "2000" rstValExp.Fields(5).Value = 1.5 rstValExp.Fields(6).Value = 1.5 rstValExp.Fields(7).Value = 1.5 rstValExp.Fields(8).Value = 1.5 rstValExp.Fields(9).Value = 1.5 rstValExp.Fields(10).Value = 1.5 rstValExp.Update rstValExp.MoveFirst set rstValExp = nothing set cnnAccess = nothing Espero que este código te sea de utilidad. Si te queda alguna duda o deseas hacer una pregunta mes concreta sobre el tema no dudes en hacerla. Magne
Muchas Gracias por la respuesta. Perdón por no haber dado los datos que necesitabas. Te comento que trabajo sobre un motor SQL, pero igual me guardo el código que me pasaste porque me puede ser de gran utilidad para el futuro. 1)Tendrías el código para SQL. 2)Hay alguna manera de manejar datos igual que una tabla (leerlos de forma ordenada según cierto criterio 'x' y acceder mediante punteros a algún registro especifico) sin tener que crear una tabla en el motor de base de datos. Probé con una matriz pero la lectura es un poco lenta porque tengo que leer linea por linea para ver cual me sirve. Nuevamente gracias.
Lo siento, pero hasta aquí te puedo ayudar. Nunca he trabajado con SQL (desde Visual Basic). He intentado buscar una respuesta satisfactoria, pero... Lo único que he podido ver es que la conexión se hace de forma parecida, simplemente cambiando el provider al de SQL. Puedes probar de hacer los executes con las instrucciones SQL de Create Table i demás... No puedo garantizarte que funcione ya que no lo puedo probar. Si encuentras la solución ya me la comentarás, que siempre se aprenden cosas nuevas. Magne
Igualmente gracias por ocuparte. Te cuento que me pasaron algunas respuestas y te envío una: Existen dos tipos de tablas temporarias en Sql La de usuario que se define de la siguiente manera Las locales que se definen así #nombre tabla esta es vista solo por el usuarios que la crea y es eliminada cuando el usuarios cierra la sesión o conexión Las globales que las veen todos los usuarios y se eliminan cuando todos los usuarios que la usen se desconexten. Para crearlas usa procedimientos almacenados. Así: CREATE PROCEDURE [Crea_Tablas] AS CREATE TABLE #Tab_Operaciones (Correlativo Real, Año INT, Periodo INT, Maquina Char(10), Boleta INT, Val_Ope INT, Efe_Vueltos INT, Act_FecAud DATETIME, Act_HorAud DATETIME, Fecha_Ingreso DATETIME, Act_NumAud INT, Ruta INT) CREATE INDEX IndTab_Operaciones0 ON #Tab_Operaciones (Correlativo) para activar este procedimiento usa cobjetos command desde visual, asi. Set Comando = New Command With Comando .ActiveConnection = B_Sql .CommandText = "Crea_Tablas" .CommandType = adCmdStoredProc End With Comando.Execute Set Comando = Nothing (Espero te sirva para un futuro)
- Anónimoahora mismo
Respuesta de pcampora
1
1
pcampora, DATOS PERSONALES: Nacionalidad: Argentina
Tienes que saber dos cosas: 1) Como ejecutar sentencias sql (para selects, create, etc.) desde VB. 2) Y como crear una tabla temporal en SQL (esto depende del motor). Así que decime que motor (MS, MySQL, etc.) utilizas y que es lo que realmente no sabes.
Hola: Gracias por la respuesta. Te comento que ya se com ejecutar un query desde VB y que el motor de la Base de Datos es un SQL. Nuevamente gracias.
El comando en SQL para crear una tabla temporal (en mi ejemplo llamada TemTable) es el sig: create table ##TemTable (columnas...) Espero te sirva de ayuda, y no te olvides de ponerle puntaje.