Hay un total de 3030 Preguntas. | << >> |
Pregunta: | 36965 - IMAGENES ORACLE VISUAL BASIC |
Autor: | pedro damico |
si es posible que me exoliquen como inserto una imagen desde visual basic a un campo blob de la base de datos ceada en oracle |
Respuesta: | Cecilia Colalongo |
Si usas ADO con los métodos AppendChunk y GetChunk supongo que vas a poder.
Igual fijate en éste link http://www.mvps.org/vexpert/articles/adoImages.htm que está bastante detallado. |
Pregunta: | 36988 - AGREGAR FILAS A UN DBGRID EN TIEMPO DE EJECUCIÓN |
Autor: | Cristian Mar |
Estoy utilizando VB 5.0
Estoy haciendo una ventana para un modulo de ventas donde tengo un DBGRID enlazado con la tabla de detalle de venta. Utilizo un boton para agregar una línea de detalle es decir, una fila en el grid con la siguiente instruccion: grdDataGrid.Row = grdDataGrid.ApproxCount pero en un determinado N° de filas no puedo agregar más filas. Consulté la ayuda y alli dice que rows y cols Devuelven o establecen el número total de columnas o filas de un control DBGrid y figura la instrucción dbgrid.rows=nro (o algo así), pero no hay caso me salta un error. En resumen cómo puedo hacer para agregar una fila a un dbgrid en tiempo de ejecución. Espero que me ayuden ya que no sé que hacer. Gracias. |
Respuesta: | Alice Queen |
Estimado Cristian
No entiendo muy bien porque tenes que hacer un código para agregar líneas en un dbgrid, si en las propiedades de la misma marcas "AllowAddNew", ya te permite ir agregando nuevas filas. espero que te sirva saludos |
Pregunta: | 37000 - REPARAR BASE D ACCESS 97 DESDE VISUAL AUTOMATICAMENTE |
Autor: | Jorge |
Hola, estoy haciendo una aplicación en VB que trabaja con bases de datos access 97, tengo una opción que revisa que todas las bases esten bien pero me gustaria hacer que si detecta que alguna esta rota el programa automaticamente la repare.
Agradeceria muchisimo si alguien me pudiese ayudar. Gracias. |
Respuesta: | Oswaldo Monagas |
Una vez que revisas las bases de datos si alguna esta corrupta debe generate un error, porque me imagino que esa rutina que las chequea, detecta que alguna esta mal. Cuando se genere este error puedes generar una rutina de error y dentro de ella hacer que repare la base de datos, si lo puede hacer entonces continua de nuevo con tu rutina y chequea de nuevo todo, si no, ya sabes no se puede hacer la reparacion y ahi tomas tu propia decicion.
Aqui te envio dos rutinas para reparar las bases de datos. Case ... RepairDatabase Curentdatabasename Case .... On Error Resume Next Kill "temp.MDB" Name curentdatabasename as "temp.mdb" On Error Goto errcompact compactdatabase "temp.mdb", Currentdatabasename kill "temp.mbd" Exit Sub errcompact: MsgBox "compaction failed" name "temp.mdb" as Currentdatabasename Case ... Fijate que aqui esta la rutina si no se puede reparar la base de datos. Aqui tienes otra con la rutina de errores: Public Function DAO_RepairDataBase(ByVal pvStrDataBaseName _ As String) As String '---------------------------------------------------- ' Purpose: ' Repairs any DataBase ' ' Parmaters: ' 1 - pvStrDataBaseName ' The database Path and Name ' ' Return Value: ' Empty string if successful ' String with err number(s) & "|" & Err description(s) ' ' Notes: ' This routine uses the Database Engine's error collection ' to notify the user of exactly what's gone wrong during the ' repair process. '-------------------------------------------------- Dim lErrDataBaseErrors As DAO.Error Dim lStrErrors As String Const lcIntNoErrors = 0 Const lcStrErrorDivider = "|" lStrErrors = "" On Error Resume Next ' Attempt to repair the database DBEngine.RepairDatabase pvStrDataBaseName ' If an ERROR occured then show the user all of the errors ' in the database engine's error collection If Err <> lcIntNoErrors Then For Each lErrDataBaseErrors In DBEngine.Errors lStrErrors = lStrErrors & lErrDataBaseErrors.Number _ & lcStrErrorDivider & lErrDataBaseErrors.Description _ & Chr(9) Next lErrDataBaseErrors End If On Error GoTo 0 DAO_RepairDataBase = lStrErrors End Function Saludos |
Pregunta: | 37011 - COMO OBTENGO UN RECORDSET DE DOS BASES DE DATOS DISTINTAS? |
Autor: | Carlos Aguilar |
¿Cómo puedo hacer para generar un sólo recordset en Visual Basic 6 con la informacion de una tabla en Oracle 8i, comparada con una tabla similar, solo que en Interbase 6?
Ejemplo: Tabla: STOCK Campos: Articulo numerico Existencia numerico Necesito presentar las existencias por articulo segun Oracle y segun Interbase 6 Ejemplo de un recordset resultante: Articulo Existencia_Oracle Existencia_InterBase |
Respuesta: | Eyes |
En VB 6.0 No puedes hacer una consulta a dos BD simultaneas, la solucion que te propongo es que te hagas un componente .Net con VB.Net ya que este nuevo entorno si permite interactuar con varias conexiones incluso relacionar las tablas de diferente BD. Un Saludo y suerte. |
Respuesta: | Brais Courel Gómez |
Creo que vas a tener que hacer dos consultas separadas para saber si existe ese artículo en las dos BdDs, ya que el objeto Database que es el que realiza las conexiones con las BdDs y proporciona la información que almacena el recordset sólo se puede conectar con un servidor. Sólo hé probado a enlazar una consulta a dos BdDs desde visual una vez, y en ese caso las dos bases de datos trabajaban bajo informix y estaban en el mismo servidor por lo que sólo tuve que referenciar cada una a la hora de consultar. |
Pregunta: | 37066 - IMPRESION JUSTIFICADA |
Autor: | Horacio Elias |
Es mi intención realizar una aplicación que lea informacion desde una base mdb y linea por linea la vaya imprimiendo en una hoja. Pero quiero que esta impresión salga justifica en ambos márgenes al estilo de Word.
¿Se puede?. Gracias por vuestra ayuda |
Respuesta: | Xavi |
Este código, me lo descarge de internet y le he realizado algunas modificaciones para controlar los saltos de linea, etc...
----------------- Function justifica_printer(x0 As Long, xf As Long, y0 As Long, Txt As String) As Long ' x0, xf = posicion de los margenes izquierdo y derecho ' y0 = posicion vertical donde se desea empezar a escribir ' txt = texto a escribir ' devuelve la posicion vertical final Dim x, y, k, ancho Dim s As String, ss As String Dim x_spc Dim XX As Boolean s = Txt x = x0 y = y0 ancho = (xf - x0) While s <> "" ss = "" XX = True While (s <> "") And (Printer.TextWidth(ss) <= ancho) And XX = True If Left$(s, 2) = Chr(13) & Chr(10) Then s = Right$(s, Len(s) - 2) XX = False Else ss = ss & Left$(s, 1) s = Right$(s, Len(s) - 1) End If Wend If (Printer.TextWidth(ss) > ancho) Then s = Right$(ss, 1) & s ss = Left$(ss, Len(ss) - 1) End If ' aqui tenemos en ss lo maximo que cabe en una linea If Right$(ss, 1) = " " Then ss = Left$(ss, Len(ss) - 1) Else If (InStr(ss, " ") > 0) And (Left$(s & " ", 1) <> " ") And XX = True Then While Right$(ss, 1) <> " " s = Right$(ss, 1) & s ss = Left$(ss, Len(ss) - 1) Wend ss = Left$(ss, Len(ss) - 1) End If End If x_spc = 0 x = x0 If (Len(ss) > 1) And (s & "" <> "") And XX = True Then x_spc = (ancho - Printer.TextWidth(ss)) / (Len(ss) - 1) End If Printer.CurrentX = x Printer.CurrentY = y If x_spc = 0 Then Printer.Print ss; Else For k = 1 To Len(ss) Printer.CurrentX = x Printer.Print Mid$(ss, k, 1); x = x + Printer.TextWidth("*" & Mid$(ss, k, 1) & "*") - Printer.TextWidth("**") x = x + x_spc Next End If y = y + Printer.TextHeight(ss) While Left$(s, 1) = " " s = Right$(s, Len(s) - 1) Wend Wend justifica_printer = y End Function |
Pregunta: | 37112 - CAMBIAR CARACTERES EN UNA CELDA EN UN DBGRID |
Autor: | Alice Queen |
Hola colegas
mi problema es el siguiente: cuando un usuario presiona una tecla, la evalúo (dbgrid1_keypressed()) pero si el mismo ingresa un caracter que no me sirve, debo cambiarlo. No se como cambiarlo conservando los caracteres ya ingresados en esa celda y a su vez permitirle agregar más caracteres ahí mismo. saludos |
Respuesta: | David |
Aqui te muestro un código para hacer referencia a una celda del DBGRID, eso devuelve o establece el valor, el problema es que solo vale para la fila actual:
dim cels as string 'Declara variable cels = datagrid1.Columns(1).Text 'Hace referencia a la celda de la fila actual en la columna indicada. ... Para hacer referencia a otra fila puedes desplazar el enfoque a la fila que quieras. |
Pregunta: | 37122 - LEER REGISTRO DE WINDOWS CON VISUAL BASIC 6 |
Autor: | Edgar Alberto Morales Rojas |
Debo leer el registro de windows como lo hace getsetting pero debo especificarle el pat (Necesito leerlo de HKEY_LOCAL_MACHINE\SOFTWARE\VB and VBA Program Setting\Aplicacion.....
Si alguien me puede ayudar Gracias |
Respuesta: | Luis M. Mora. |
Saludos aqui tienes el Codigo:
' Este Programa necesita 3 botones Const REG_SZ = 1 ' Unicode nul terminated string Const REG_BINARY = 3 ' Free form binary Const HKEY_CURRENT_USER = &H80000001 Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Function RegQueryStringValue(ByVal hKey As Long, ByVal strValueName As String) As String Dim lResult As Long, lValueType As Long, strBuf As String, lDataBufSize As Long 'retrieve nformation about the key lResult = RegQueryValueEx(hKey, strValueName, 0, lValueType, ByVal 0, lDataBufSize) If lResult = 0 Then If lValueType = REG_SZ Then 'Create a buffer strBuf = String(lDataBufSize, Chr$(0)) 'retrieve the key's content lResult = RegQueryValueEx(hKey, strValueName, 0, 0, ByVal strBuf, lDataBufSize) If lResult = 0 Then 'Remove the unnecessary chr$(0)'s RegQueryStringValue = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1) End If ElseIf lValueType = REG_BINARY Then Dim strData As Integer 'retrieve the key's value lResult = RegQueryValueEx(hKey, strValueName, 0, 0, strData, lDataBufSize) If lResult = 0 Then RegQueryStringValue = strData End If End If End If End Function Function GetString(hKey As Long, strPath As String, strValue As String) Dim Ret 'Open the key RegOpenKey hKey, strPath, Ret 'Get the key's content GetString = RegQueryStringValue(Ret, strValue) 'Close the key RegCloseKey Ret End Function Sub SaveString(hKey As Long, strPath As String, strValue As String, strData As String) Dim Ret 'Create a new key RegCreateKey hKey, strPath, Ret 'Save a string to the key RegSetValueEx Ret, strValue, 0, REG_SZ, ByVal strData, Len(strData) 'close the key RegCloseKey Ret End Sub Sub SaveStringLong(hKey As Long, strPath As String, strValue As String, strData As String) Dim Ret 'Create a new key RegCreateKey hKey, strPath, Ret 'Set the key's value RegSetValueEx Ret, strValue, 0, REG_BINARY, CByte(strData), 4 'close the key RegCloseKey Ret End Sub Sub DelSetting(hKey As Long, strPath As String, strValue As String) Dim Ret 'Create a new key RegCreateKey hKey, strPath, Ret 'Delete the key's value RegDeleteValue Ret, strValue 'close the key RegCloseKey Ret End Sub Private Sub Command1_Click() Dim strString As String 'Ask for a value strString = InputBox("Please enter a value between 0 and 255 to be saved as a binary value in the registry.", App.Title) If strString = "" Or Val(strString) > 255 Or Val(strString) < 0 Then MsgBox "Invalid value entered ...", vbExclamation + vbOKOnly, App.Title Exit Sub End If 'Save the value to the registry SaveStringLong HKEY_CURRENT_USER, "KPD-Team", "BinaryValue", CByte(strString) End Sub Private Sub Command2_Click() 'Get a string from the registry Ret = GetString(HKEY_CURRENT_USER, "KPD-Team", "BinaryValue") If Ret = "" Then MsgBox "No value found !", vbExclamation + vbOKOnly, App.Title: Exit Sub MsgBox "The value is " + Ret, vbOKOnly + vbInformation, App.Title End Sub Private Sub Command3_Click() 'Delete the setting from the registry DelSetting HKEY_CURRENT_USER, "KPD-Team", "BinaryValue" MsgBox "The value was deleted ...", vbInformation + vbOKOnly, App.Title End Sub Private Sub Form_Load() 'KPD-Team 1998 'URL: http://www.allapi.net/ Command1.Caption = "Agregar Valor" Command2.Caption = "Leer Valor" Command3.Caption = "Borrar Valor" End Sub Lo saque de http://www.allapi.net/ si quieres me ecribes y te envio el programa ;-) .. Saludos |
Pregunta: | 37137 - DE UNIX A VB |
Autor: | Adalberto Polanco |
Hola senores, tengo unas bases de datos hechas bajo informix en unix, pero necesito trabajarlas desde visual basic, o convertirlos a windows |
Respuesta: | Felipe Ortega |
Lo que tienes que hacer es usar el driver ODBC para Informix mediante ADO.
Puedes encontrar el string de conexión correspondiente en : http://www.able-consulting.com/MDAC/ADO/Connection/ODBC_DSNLess.htm#ODBCDriverForInformix Para poder trabajar con ADO debes agregar a las referencias de tu Proyecto (Menú Proyecto > Referencias) "Microsoft Active Data Objects" que sea de preferencia 2.6 o superior. Ejemplos de como acceder a una base de datos usando ADO existen varios en internet, espero que esta pequeña ayuda te haya servido de algo. |
Pregunta: | 37165 - SUSPENDER LA EJECUCION DE UN PROGRAMA TEMPORALMENTE |
Autor: | Andres Pag |
Me gustaria saber si existe alguna instruccion en VB6 para suspender temporalmente la ejecucion del programa durante algunas fracciones de segundo. Y si no existe como puedo hacer para lograr esto.
(En QBasic por ejemplo existe "sleep" que suspende por x segundos y luego continua con la ejecucion de la instruccion siguiente.) Gracias |
Respuesta: | Joan Carles Sansano Belso |
Visita en la direccion http://guille.costasol.net/vb_api02.htm la seccion
16.- Esperar a que un programa termine (incluso si es de MS-DOS) (32 bits) (31/Oct) Hay una API SLEEP |
Pregunta: | 37183 - EJECUTABLE SIN INSTALACIÓN |
Autor: | Eduardo Beltran |
Hola, mi pregunta es si se puede hacer en VB (Version 5) un programa que se pueda ejecutar en cualquier PC sin necesidad de crear un programa de instalación.
He visto que poniendo en las opciones de compilación la opcion de "Compilar usando P-Code" se puede ejecutar en algunos PC's (en la mayoria que los probé que no tenian VB instalado) pero no se si es por esa forma de compilarlo o no. Digamos que lo que quiero hacer es un programa en VB 5 que directamente haciendo un COPY se ejecute correctamente en cualquier PC. Muchas gracias. |
Respuesta: | voltio |
Solamente tienes que crear un folder con todos los archivos que estas utilizando y crear un ejecutable. Podrás copiar ese folder en cualquier máquina y corriendo ese ejecutable correrás la aplicación. |
|< << 228 229 230 231 232 233 234 235 236 237 238 >> >| |