PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  4861 - ERRORES DE CARGA DE FORMULARIO
Autor:  Ximena Tamame
Cuando corro el programa desde visual, o cuando quiero abrir alguna ventana en tiempo de diseño, a veces, me aparece el siguiente error: "Errores de carga. Consulte <nombre de pantalla.log> para obtener mas detalle". Cuando abro el archivo log al que hace referencia, este tiene los siguiente:
"la linea <nro de linea>: la propiedad size de Font tenia un valor no valido". El error desaparece simplemente guardando la pantalla en que me aparece el error, pero sin modificar nada en la pantalla vuelve a aparecer. Si alguien tiene alguan sugerencia, se lo agradeceria
  Respuesta:  Octavio Paredes
Eso es por lo general porque mueves el formulario de el directorio y te lo colaca solo lectura sin las figuras, y por lo general hay que rehacer el formulario, pero salva con guardar como para que no pierdas todo

    Pregunta:  4866 - ¿ COMO HACER BUSQUEDAS EXACTAS EN CONTROL LIST ?
Autor:  Patricio Hernandez
Necesito sabes como poder realizar busquedas de cadenas de texto en un list con un determinado numero de item´s ????
  Respuesta:  Gabriel Memmel
Abajo te escribo un código muy simple que utiliza la funcion 'StrComp', Espero que te sirva, en caso de alguna duda solo comunicate conmigo

'-------------------------------------------------
'Esta es una forma muy simple de realizar busquedas muy precisas en un ListBox
'a traves de la funcion 'StrComp'
'Para este proyecto se necesita un ListBox, un TextBox, dos CommandButtons
'y dos CheckBoxes

Dim Ult_Linea, Ult_Caracter, Encontrado

'Busca una palabra en un ListBox
Private Function Busqueda(Texto, Ult_Lin, Ult_Car)
'Prepara el texto para buscar la cadena completa una sub cadena, segun lo seleccionado
If Check2.Value = 0 Then Texto1 = Texto
If Check2.Value = 1 Then Texto1 = " " + Trim$(Texto) + " "
'Inicia el ciclo de linea por linea
For i1 = 0 To List1.ListCount - 1
'Verifica si ya se encontro para buscar el la ultima linea revisada
If i1 < Ult_Lin Then i1 = Ult_Lin
Texto2 = " " + List1.List(i1) + " "
'Inicia el ciclo de caracter por caracter
For i2 = 1 To Len(Texto2) - Len(Texto1)
'Verifica si ya se encontro para buscar en el siguiente caracter
If i2 < Ult_Car Then i2 = Ult_Car
'Verifica si el texto a buscar puede o no estar en esa línea
If Texto2 <> "" And Len(Texto1) > 0 And Len(Texto1) <= Len(Texto2) _
Then texto3 = Mid$(Texto2, i2, Len(Texto1))
If Check1.Value = 1 Then
'Realiza la comparacion diferenciando mayusculas de minusculas
If StrComp(Texto1, texto3, vbBinaryCompare) = 0 Then
List1.Selected(i1) = True
Ult_Linea = i1: Ult_Caracter = i2 + 1
Busqueda = True
Exit Function
End If
End If
If Check1.Value = 0 Then
'Realiza la comparacion sin diferenciar mayusculas de minusculas
If StrComp(UCase$(Texto1), UCase$(texto3), vbBinaryCompare) = 0 Then
List1.Selected(i1) = True
Ult_Linea = i1: Ult_Caracter = i2 + 1
Busqueda = True
Exit Function
End If
End If
Next i2
'Mantiene los valores como si no se encontrase nada por si no se encuentra
List1.Selected(i1) = False
Ult_Linea = 0
Ult_Caracter = 0
Next i1
Busqueda = False
End Function

Private Sub Command1_Click()
'Realiza una busqueda desde el inicio dando los datos como 0 en el comienzo de
'linea y caracter y devuelve un valor booleano a la variable 'Encontrado'
Encontrado = Busqueda(Text1, 0, 0)
End Sub

Private Sub Command2_Click()
'Realiza una busqueda desde la ultima palabra encontrada para ver si existen
'otras iguales y devuelve un valor booleano a la variable 'Encontrado'
Encontrado = Busqueda(Text1, Ult_Linea, Ult_Caracter)
End Sub

    Pregunta:  4872 - REGISTROS DUPLICADOS SQL SERVER VB5
Autor:  FREDY BAUTISTA
COMO PUEDO LLENAR UNA TABLA TEMPORAL CON LOS REGISTROS DUPLICADOS QUE ENCUENTRE EN UNA MISMA TABLA Y ENTRE DIFERENTES TABLAS ,LAS TABLAS ESTAN EN SQL SERVER 7.0 Y VISUAL BASIC 5.0 ,LA INFORMACION LLEGA EN ARCHIVOS PLANOS CON REGISTROS DUPLICADOS ,NO LOS PUEDO BORRAR LOS REGISTROS DUPLICADOS YA QUE ESTOS SERAN LA BASE DE UN REPORTE
GRACIAS...
  Respuesta:  Ruben Alejandro Romero Mansilla
Te recomiendo que te crees un Script en SQL Server que evalue la condicion de existencia y grabe los datos en la segunda tabla. (o un store).

Pero la mejor herramienta para este tipo de cosas es utilizar el DTS. Fijate en la ayuda de SQL Server.

Saludos

    Pregunta:  4908 - PORTAPAPELES EN VB
Autor:  Mario Garcia
Tengo datos de varias columnas en un control MSHFlexgrid, el control lo he configurado para que seleccione por fila...en resumen ,quiero seleccionar datos de este control y mandarlos al portapapeles para despues pegarlos en cualquier otra aplicacion(word o excel), he intentado utilizar el metodo normal en visual basic, pero solo me manda al portapapeles los datos de una sola celda del control MSHFlexgrid. ¿Como podria hacer para que se copiaran al portapapeles todos los datos que seleccione de la cuadricula?..Ojala me puedan ayudar
  Respuesta:  Daniel Figueroa
este es el codigo que tu necesitas.

Clipboard.Clear 'Limpia el portapapeles
Clipboard.SetText MSFlexGrid1.Clip 'Envía los datos 'seleccionados al portapapeles.

un abrazo, enviame un mail a mi correo si tienes alguna consulta.

DFA

    Pregunta:  4909 - ARRANCAR UN PERFIL PREDETERMINADO DE CORREO
Autor:  DAVID VAZQUEZ ESCACENA
Estoy realizando una aplicación de correo mediante los controles MAPI, pero al iniciar la sesion siempre me pide con que perfil debo arrancar a no ser que ya este arrancado por el programa de correo que tengo(en este caso OUTLOOCK 2000),no hay ninguna manera de indicarle a visual basic que arranque un perfil como predeterminado al igual que se puede indicar en la mayoría de programas de correo.

Gracias de antemano.
  Respuesta:  Ruben Alejandro Romero Mansilla
En principio deberias hacer la siguiente prueba:

Busca con el exporador de windows un archivo word presiona el boton derecho y selecciona la opcion enviar a (o sent to) elegi destinatario de correo y efectua el Click, si la aplicacion te pide el perfil, es porque esta mal configurado el Outlook, asi que si tu aplicacion hace lo mismo esta bien. por las dudas te envio el codigo de envio de emails.

Function eMailConfirmacion()
Set objOutlook = CreateObject("Outlook.Application")
If Err Then
MsgBox "Upss no Pudo crear Outlook Application object!", vbCritical
eMailConfirmacion = False
Exit Function
End If

Set objNamespace = objOutlook.GetNamespace("MAPI")
If Err Then
MsgBox "Upss no Pudo crear MAPI Namespace!", vbCritical
eMailConfirmacion = False
Exit Function
End If

sTo = "A quien va dirigido"
sSubject = "Titulo Mensaje"
sBody = "Cuerpo del Mensaje"

If Trim(sTo) <> vbNullString Then

Set objMItem = objOutlook.CreateItem(olMailItem)

If Err Then
MsgBox "Upss no Pudo crear MailItem!", vbCritical
eMailConfirmacion = False
Exit Function
End If

With objMItem
.To = sTo
.Subject = sSubject
.Body = sBody
.Send
End With
End If

Set objMItem = Nothing

End Function

    Pregunta:  4910 - SQL QUE BORRA UN USUARIO DE ORACLE
Autor:  RITA GUILLEN
Necesito saber como se puede borrar un usuario de oracle con una sql.El sistema operativo es Windows NT, la versión de oracle es 8.1.6, la conexión a la base de datos es mediante ODBC y usando ADO, la sql residiria en una DLL, ésta está desarrollada con visual basic 5.0.
  Respuesta:  Txibit Soft
Si a lo que te refieres es al comando sql para borrar a un usuario de oracle, es el siguiente: DROP USER nombre_usuario [CASCADE].
Si se incluye CASCADE, se suprimen todos los objetos del usuario antes de borrar al usuario.
Sólo puede borrar usuarios un administrador, o quien tenga al menos el privilegio DROP USER.

    Pregunta:  4977 - GRABAR TECLAS PULSADAS
Autor:  carlos agosi
NECESITO HACER UN PROGRAMA QUE GRAVE LAS TECLAS PULSADAS Y LA GRABE EN UN FICHERO RICH TEXT FORMAT, en visual basic pero, el formulario de visual basic tiene que estar sin foco, para poder seguir usando el pc, y escribiendo en otros programas, como lo hago???,keypress me da el codigo ascii de las teclas pulsadas pero solo cuando el form esta con foco, por lo tanto no me sirve, como lo hago entonces?
por vuestra colaboración muchas gracias
  Respuesta:  Luis Eduardo Cañedo Ugalde
Lo que tienes que hacer es poner a trabajar tu programa en backgorund, crea tu programa y ponlo en el tryicon cargandolo al inicio del SO, con esto conseguiras que las teclas queden grabadas en donde quieras de tu formulario sin tener el foco, puesto que probabemente ni lo veas, si asi lo configuras, yo tengo un ejemplo de ese programa, nada màs que graba en un archivo de texto, si no lo logras hacer jalar escribeme y lo publico tambièn en este medio.
Tienes que tener una buena màquina o no tenerla tan cargada, por que los programas cargados en memoria de esta forma usan muchos recursos por estar en constante actividad.

    Pregunta:  4990 - RESPODER A SEGUNDO PLANO
Autor:  Claudio Agosi
necesito un programa que responda a las pulsaciones del teclado, con keypress por ej, pero que corra en segundo plano
como lo hago???
  Respuesta:  LUIS MIGUEL GONZALEZ
Hola, aquí tienes un ejemplo sencillo. Para ello se utilizan 2 Formularios y en el segundo de ellos colocamos un TextBox.

Private Sub Form_KeyPress(KeyAscii As Integer)
Form2.Text1 = Form2.Text1 + Chr(KeyAscii)
End Sub

Private Sub Form_Load()
Form2.Show
Form2.Visible = False
End Sub

Al ejecutar el programa carga un segundo Formulario, el cual no se ve. Al pulsar cualquier tecla, se va añadiendo esta al TextBox del Form2. Poner a True Form2.Visible para comprobarlo.

    Pregunta:  5001 - PROBLEMA ENTRE CRYSTAL REPORT 4.6 Y VB6
Autor:  Rodrigo García Puente
He diseñado una aplicación bajo VB 6.0 con Service Pack 4 y para crear informes utilizo la herramienta Crystal Reports 4.6 (la que viene con Visual Basic 5). En mi ordenador la aplicación funciona correctamente y los informes también pero cuando la instalo en otro ordenador (con el Asistente de Empaquetado y Distribución) y la ejecuto, al lanzar los informes me da el siguiente error: "Crystal Reports: Database Error, Cannot Initialize OLE". Pulso aceptar y a continuación visualizo mensajes del tipo "Could not be found in file location " así tantas veces como tablas tiene la BD que utilizo. Los informes y la base de datos los ubico bien (es decir, establezco la propiedad DataFiles del control de CrystalReports. ¿Puede venir el problema de la convivencia de VB 5 y VB 6 en el mismo ordenador?. Me gustaría que alguien me ayudara pronto ya que es muy urgente. Saludos a todos y feliz año nuevo. Rodrigo García Puente. www.rodrigogarcia.es.fm
  Respuesta:  Rodrigo García
La pregunta hacía referencia a un fallo que me daba entre el CRYSTAL REPORTS 4.6 Y VISUAL BASIC 6. Al parecer el problema venía porque instalaba mi programa en un ordenador que tenía Access2000 entonces el formato de BD no lo reconocía correctamente y los informes no los podía cargar correctamente.
Todo se arregla descargando de www.seagatesoftware.com el
archivo access2000drivers.zip que contiene las versiones actualizadas de 3 archivos necesarios para CR cuando se programa con DAO (estos son P2*dao.dll). Pues bien instalando estos archivos se soluciona el problema.
Adjunto os envío el archivo.

    Pregunta:  5013 - COMO USAR EL API DE WINSOCK (SIN EL OCX)
Autor:  J.M. Lopez
Conozco el API de Winsock, lo que no logro descifrar son las mensajes que se envian a la ventana que le das como parametro en la funcion WSAAsyncSelect(). ¿Alguien me puede ayudar?
  Respuesta:  Xavi
Recibiras en la ventana que le has pasado como parametro, el mensaje que tambien le
has pasado como parametro y como parametros del mensaje puedes recibir lo siguiente:
En el wParam recibes el numero de socket que provoca el evento
El lWord del lParam contiene el identificador del evento
El HWord del lParam contiene el codigo de error, si es que se produjo.
Los identificadores de evento son los siguientes:
FD_READ que vale 1, FD_WRITE que vale 2,FD_OOB que vale 4,FD_ACCEPT que vale 8
FD_CONNECT que vale 10 y FD_CLOSE que vale 20

|<  <<  71 72 73 74 75 76 77 78 79 80 81  >>  >|