PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  5055 - INSERTAR DATOS EN UNA TABLA MEDIANTE MSFLEXGRID
Autor:  Leonardo Diego Zulli
Quisiera saber si se puede ingresar datos a una tabla mediante un flex grid en Visual Basic 6.0, si existe un modo necesitaría saber como hacerlo.
  Respuesta:  Daniel Morin
La opcion de los ciclos For para enviar datos de un FlexGrid tiene un pequeño error, pues debes primero llenar el grid y despues grabar o bien hacerlo al revez es decir primero grabar y despues llenar el grid.

Depende mucho de lo que quieras hacer, te recuerdo que el flexgrid si no lo conoces bien te va a complicar la existencia, sobre todo con los metodos de edición de celdas que es lo que necesitas manejar para lo que quieres hacer, una opcion usar un control secundario para llenar el FlexGrid y grabar en la tabla, enviame un mail y con gusto te mando un ejemplo completo al respecto.
  Respuesta:  Carlos
si se puede enviar datos del flexgrid a una tabla, solo que es algo largos.

primero debes hacer un for que reccora tus cols y uno con tus rows, y dentro bloques if para ver que posicion y en donde se guarda.

supongamos que tienes un flex de 2 cols y 3 rows donde el row de arriba es fixed ok?

tengo una tabala en access y lo mando mediante codigo sin datacontrol.

private sub donde_lo_necesites()
dim j, i
´ya debes tener un recordet en donde estara tu tabal este caso sera mm´

for j = 1 to felxgrid.rows -1
´ aqui empieza en 1 por que el 0 es el fixed que ocupas para titulos y esas cosas1
felxgrid.row = j

for i = 0 to flexgrid.cols -1

flexgrid.col = i
if flexgrid.col = 0 then
mm.fields("campo1") = flexgrid.text
end if
if flexgrid.col = 1 then
mm.fields("campo2") = flexgrid.text
end if
if flexgrid.col = 2 then
mm.fields("campo3") = flexgrid.text
end if
next i
next j

asi en el for de adentro caminas entre columnas en el renglon 1, despues cambia al renglon 2. entra y rrecore las columnas, y asi. en caso de no entenderlo bien o si quieres un ejemplo escribeme. [email protected]

    Pregunta:  5057 - TRASPASAR DATOS DE UNA CONSULTA A UNA TABLA EN ACCESS
Autor:  Cristian Andana
Holas..necesito crear un proceso que permita trapasar,copiar o mover los datos obtenidos mediante una CONSULTA (en access) , a una TABLA (tambien en access).. Gracias
  Respuesta:  Miguel Lucero
Para copiar datos de una consulta a una tabla podes usar la instrucción INSERT INTO de SQL por ejemplo:

INSERT INTO Tabla [IN base_externa] (campo1, campo2, ..., campoN)
SELECT TablaOrigen.campo1, TablaOrigen.campo2, ..., TablaOrigen.campoN
FROM TablaOrigen

Tene en cuenta que los campos de la selección deben ser del mismo tipo y cantidad que la tabla destino

Espero te sirva.

    Pregunta:  5059 - COMO COMPRIMIR ARCHIVOS CON LA API´S
Autor:  Jerónimo Reyes
Existen alguna APIS que compriman y descompriman archivos .
Lo que necesito es no utilizar controles .OCX para dicha accion..

MOLTO GRATZIE ....
  Respuesta:  juan cecconi
Hay una DLL de windows llamada lz32.dll que contiene todas la funciones para descomprimir archivos comprimidos con la aplicacion "Compress.exe" de windows. Puedes hacer una llamada tipo Shell a esta funcion para comprimir y luego utilizar las funciones APIs de esta DLL para abrir los archivos y manejarlos.

    Pregunta:  5063 - IMPRIMIR APAISADO Y VERTICAL CON CRISTAL REPORT
Autor:  luis romero
Quisiera saber de que forma puedo imprimir dos informe mediante el objeto de cristal reports de visual basic 5.0 uno vertical y otro apaisado con la impresora predeterminada de windons
  Respuesta:  Héctor Niño
Hasta donde se el control de Crystal Reports no permite hacer ese cambio (ya que al hacer el reporte le indicas la orientacion en el diseñador de reportes y esta queda fija) pero puedes usar el objeto Printer con el metodo Orientation para cambiar la orientacion de la impresora actual;
Printer.Orientation = vbPRORPortrait
Printer.Orientation = vbPRORLandscape
Casi no use VB5, me pase de VB4 16bits al VB6, avisame si te funciono

    Pregunta:  5072 - CERRAR OTRA APLICACIÓN DESDE VB
Autor:  jose luis pinto
como cerrar MS access 97 desde visual Basic
  Respuesta:  juan cecconi
Debes buscar la ventana realizando una enumeracion (proferentemente) o un bucle con la API FindWindow (puede llegar a fallar si justo se cerro), y de esta forma encuentras el hWnd de esa ventana. Luego enviale un mensage con la API PostMessage con el valor WM_CLOSE.

    Pregunta:  5080 - EL PUERTO PARALELO EN WINDOWS95
Autor:  Willington Rincón Hoyos
Hola...
Resulta que yo he programado en C++, utilizando el puerto paralelo del computador. Para manejarlo con resultados correctos, siempre debo reiniciar el equipo bajo DOS. Hasta ahora no he tenido problemas ya que las aplicaciones han sido bajo DOS. Cuando ejecuto el mismo programa, pero desde windows, el puerto no funciona correctamente y funciona de una forma aleatoria. Como hasta el momento lo he hecho en C++ bajo DOS no ha habido problema. El problema ahora es que quiero utilizar el puerto desde Visual basic. Como es sabido visual basic funciona bajo windows... Entonces que se debe hacer o instalar para solucionar el problema? Ya he ido a la BIOS, al panel de control y nada. No se si necesito alguna libreria por el estilo para corregir el problema del manejo del puerto en Windows. Aclaro que yo se que en visual Basic se necesitan las librerias inpout32.dll.
  Respuesta:  Mario A. Ardila
Hola:

Yo también estoy trabajando en el puerto paralelo del computador bajo windows, y he creado unas librerías dinámicas, que pueden ser usadas en Visual Basic (a mí me funcionan) y es bastante fácil de utilizar, si todavía no resuelve el problema, contácteme.

    Pregunta:  5082 - VINCULAR UN ARCHIVO A UN PROGRAMA
Autor:  Gabriel Memmel
Hola he creado varios programas que utilizan su propio formato de archivo y que pueden ser editados por el mismo, pero no se como abrir el archivo en el programa con solo darle un doble click en el explorador. Si alguien sabe responderme por favor comuníquese conmigo. Gracias
  Respuesta:  Manuel Arredondo
Esto se hace de una forma muy sencilla. Seleccionas el archivo en el explorador y pulsas el botón derecho del ratón con lo que se te abrirá su menú contextual. Selecciona dentro de este menú la opción "Abrir con..." y navegas hasta el ejecutable que trata este tipo de archivos.
A partir de este momento Windows recordará que ejecutable está asociado a este tipo de archivos y los podrás abrir con sólo un doble click.
Saludos.

    Pregunta:  5086 - UN CONTROL OCX PARA CAPTURAR DATOS TIPO MONEDA
Autor:  Pedro Padilla Gaytán
Que tal, quisiera ver va posibilidad de que alguien me dijera de un control OCX gratuito, que me sirva para capturar y formatear cifras numericas, como dinero.

Es que he tratado con le MaskEditBox del Visual Basic 6.0 y como que tiene detallitos que no me gustan y me generan algunos errores. Agradeceria de mucho si alguien me pudiera ayudar.
  Respuesta:  Daniel Morin
Yo tengo un ocx que te puede facilitar la existencia, o en su defecto te puedo pasar una función que al respecto tuve que realizar antes de encontrar el ocx , mandame un mail y con gusto te lo envio junto con un ejemplo.
  Respuesta:  Bases de Datos Sistemas C.A.
Saludos este problema lo resuelves sin necesidad de un control, con hacer una funcion de validacion para la moneda y colocando en el evento chanqe del textbox, nosotros tenemos una funcion pero en este momento no lo anexo porque no estoy en la oficina pero si la necesitas escribenos y te la enviamos sin embargo te doy mas o menos una idea.

' es importante resaltar que es necesario que en la configuracion regional la moneda y los numero
' tengan el mismo separador porque en la base de datos si son distintos dan problemas desde el
' punto de vista que que en vez de guardarse como miles se guardan como unidad y decimales

sub textbox_change()
validacion(textbox)
end sub

sub validacion(text as textbox) ' te recuerdo que los valores en VB son por referencia al menos que indiques lo contrario por lo tanto se va actualizar automaticamente

dim num ' esta variable se le colocara un cantidad de miles para saber quien es el separador de miles y decimales
dim lon ' esta variable es para la longitudad de la cadena
num=formatnumber(num,2) ' esta funcion toma del windows los separadores POR EJEMPLO: 4000= 4.000,00
' de aqui en adelante no recuerdo pero te lo doy en seudocodigo
'tomar la 3 posicion de derecha a izquierda: creo que es rigth(num,3,1) con esto tiene el separado decimal
'tomar la 2 posicion de izquierda a derecha: creo que es left(num,2,1) con esto tiene el separado miles
lon=len(text.text)
for i = 1 to lon
recorre la cadena(cadena,i,1) ' esta funcion esta con este formato pero no recuerdo
' y validas
si entonces
break
next
end sub

www.bdsca.com

    Pregunta:  5096 - PASS EN VISUAL BASIC CON SQL SERVER A TRAVES DE OBDC
Autor:  Pablo Ormeño
Tengo un gran problema al conectar la Visual Basic con la base de datos ya que tengo que pedirle al usuario su login y su pass, y eso me genera un problema ya que SQL Server al recibir un login o un pass malo manda un mesaje de error no un error al programa y despues manda su propia ventana de login y pass.
Ahora, mi pregunta es: ¿Cómo puedo hacer para interceptar ese error y manda "yo" el error, y pedir "yo" el login con el pass?...
Gracias
  Respuesta:  Rogelio González Quirós
Bueno lo que yo sujiero es sencillo, desaparecer el ODBC, solo utilizar la direccion IP, del servidor SQL. Talvez el problema es del ODBC, y no del SQL Server. Mi opcion es utilizar una conexión directa con el servidor por ADO. Utilizando un string de conexción adecuado, con pass y login.
  Respuesta:  Javier
Yo estoy trabajando con VB6.0 y SLQ server 7.0 y no tengo ningún problema.
La versión del SLQ driver es 3.70.06.23.
Por si te sierve te pongo como estoy realizando la conexión
conDB --> variable de conexion ADODB
strEnvironment --> Nombre del ODBC que uso
struid --> Usuario
strpwd --> Password
strDatabase --> Base de datos del SQL server a la que quiero acceder.
conDB.Open "PROVIDER=MSDASQL;dsn=" & strEnvironment & _
";uid=" & struid & ";pwd=" & strpwd & ";database=" & strDatabase & _
";OLE DB Services= -2"

En el caso de mandar una password incorrecta me devuelve el error -2147217843 y no hace nada. Lo puedo manejar yo mismo.

Si esto no te sirve, una posible solución aunque te de mas trabajo podría consistir en lo siguiente
(1) Tener una tabla de usuarios donde guardes de forma encriptada la password del usuario.
(2) Tener un usuario genérico en el sistema con el que te conectes y compruebes contra tu tabla si el usuario es ok. Si lo es desconectas el usuario genérico y conectas el que te han dado.
(3) Cuando el usuario quiere cambiar la password se cambia tanto en el servidor como en la tabla.

Un saludo

    Pregunta:  5116 - DATA ENVIRONMENT - QUE VALOR TIENE UN DETERMINADO CAMPO?
Autor:  Javier Nevado
Tengo una aplicación a la que he enganchado un control "Data Environment" del cual cuelgan varios "Data Report" a estos "Data Report" les paso una instrucción SQL. Mi problema es el siguiente, yo necesito averiguar cual es el contenido de unos de los campos que aparecen en este "Data Report" (en tiempo de ejecución) y dependiendo del valor de este campo tengo que refrescar la instrucción SQL. Hasta el momento lo único que he conseguido es averiguar el nombre del campo pero no su contenido. Gracias por vuestra ayuda.
  Respuesta:  diana estrada
primero verifica el valor que correspondera a ese campo pero en el dataenvironment, por ejemplo:
if dataenvironment.rscommand!campo= "x" then
sql="select ..."
end if
cualquier duda estoy a tus ordenes

|<  <<  73 74 75 76 77 78 79 80 81 82 83  >>  >|