|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - UserCode
Páginas: 1 ... 9 10 [11] 12 13 ... 15
251
« en: Viernes 10 de Febrero de 2006, 18:10 »
bueno sorry man, sigue igual todo, empeñado el win98 en no quererme aceptar el registrar el DLL de dao, pero si a ti si te ha servido es porque por ahi va la cosa, al menos ya sé por que camino o con que archivos debo ponerme a probar, yo instale el .exe del sp del vb6 pero no cambio nada el problema, unas dll instaladas son del mismo peso que las mismas dll que yo tenia antes, pero seguire viendo, yo si creo que en futuro si podre hacer algo que funcione para plataforma que no sea NT. bueno ahora si
252
« en: Martes 7 de Febrero de 2006, 03:03 »
Bueno yo use fue la 3.6 en vez de la 3.5 en todo caso ya baje el .exe voy a ver si es eso o no, ojala que si y que ya pueda funcionar en win98, salgo de algo que estoy haciendo en estos dias y vuelvo a ese programita e informo. gracias compa
253
« en: Domingo 5 de Febrero de 2006, 21:18 »
epale cpmario, gracias amigo, he visto primero uno de los dos archivos, pq en mi caso es una Bd Access97 con cuestion dao, lo que si se resolvio al menos en no aparecer el aviso al momento de instalar es el archivo OLEAUT32.DLL el cual indicaba que no podia copiarse en system pero con Flags: restartreplace uninsneveruninstall sharedfile regserver noregerror esto ya no aparece y el archivo si se copia a la carpeta system sin problemas. Pero con dao350.dll y dao360.dll siguen sin quererse registrar al momento del proceso de instalacion en win98 el Flags: regserver restartreplace sharedfilefile me dio error en el Inno Setup asi que le puse Flags: restartreplace uninsneveruninstall sharedfile regserver noregerror como el caso del OLEAUT32.dLL pero es igual, no los registra. No sé si todo el problema sea precisamente la libreria dao, tambien le indique con Flags: sharedfile regserver como tu otro archivo el cual tenia las mismas DLL y OCX que el otro archivo fuente a diferencia de tener las dependencias para dao 3.6 Lo que hare sera seguir viendo mejor estos dos archivos que me has pasado (thank´s ) pq aun no logro que esto se registre en win98, no sé como es que puedes instalar lo tuyo pero seguire revisando estos fuentes en busca de una DLL y OCX faltante o alguna diferencia en lo del Flags
254
« en: Viernes 3 de Febrero de 2006, 15:38 »
aqui holas una consultica, que tal les ha ido en win95 y win98, no importa tanto win95 pero que al menos los instaladores y la aplicacion ya corriendo funcionen en win98, pq yo no he podido hacer un instalador que funcione en win98. veran... algo que ya he hecho antes sin buenos resultados en win98, el caso de ayer intentandolo nuevamente, un programita con una Bd Access, quise referenciarlo a la dll de DAO y conexion DAO por código, si deseo pasar a ADO solo cambio la referencia y la conexión y el resto del código lo conservo igual, pero lo deje con DAO, hice el instalador el cual lo probe en el Virtual PC en WinXP y Win2000 y win2003 Server, y se instalo todo bien y el programa corrio todo bien. Pero al intentar instalarlo en win98SE pues siempre da errores, no puede o no acepta registrar la DLL de DAO supongo que igual si fuese la DLL de ADO. El instalador lo hice con el Inno Setup, tome la referencia de todos los archivos de dependencias del programa con el hacer un instalador con el asistente del propio visual studio para obtener el archivo Setup.LST y meti en el Inno Setup todas las DLL y OCX que necesita el programa para funcionar, lo cual asi es, ya que como ya he indicado antes, se instala y funciona perfectamente en plataforma NT (winXP, Win2000 y 2003 Server) pero en win98 nada que ver. Como resuelven este tipo de problemas, para ver si algun dia logro por fin que algo funcione para win98 pq el problema no es que falte un archivo sino que no lo acepta registrar o guardar en system (en win98 es system y no system32) tiene las dos pero todo lo tiene es en system, pero nada que acete alguno que otro archivo DLL o OCX y es cuando surge el problema, y claro al dar problemas el instalador obviamente el programa no funciona, no carga o se carga pero no hace nada. Bueno quien haya hecho un instalador en el Inno Setup metiendo todas las DLL y OCX y lo haya instalado en plataforma NT como en no NT porfa ver si puede orientarme sobre como lidiar con el win98 y sus aceptaciones de todo esto. gracias
255
« en: Jueves 2 de Febrero de 2006, 22:13 »
Listo, bueno el codigo de captura de error lo repuse y recontrarepuse en el codigo que busca y guarda la foto como el que la visualiza en consultas, a la final ya el picture no produce error que era lo que queria, que no saliese un error raro de windows o aviso de error del lenguaje en ejecucion y se cerrara la aplicacion. Lo malo es que aun se ve una ventana que le pregunta al usuario si desea guardar la imagen a pesar de que el picture no la toma pq no es valida, pero al darle al boton de "si" pues no sucede nada, el programa aborta el codigo pq sabe que el archivo no es valido, o mejor dicho, sabe que se producira un error. (cpmario) Si el usuario lo toma con el commomdialog es obvio que existe y no es necesario verificar que existe, valga la redundancia.
Si eso es cierto, obviamente si se busca con una ventanita de CommonDialog el archivo, se encuentra uno y se selecciona, lo que pasa es que uno siempre tiene que validar todo, incluso hacer programas "Anti Tercos" porque puede pasar casos de los mas raros. No sea que alguien tenga un formato de imagen raro pero que a la final si es un archivo de imagen y se le ocurra escogerlo, debe capturarse el error si. Bueno yo probe buscar un archivo por medio de la ventanita del CommonDialog pero en vez de selecionar un archivo, quise escribir garabatos: sdfsafdf Y eso producia error porque la variable "File" guardaba lo del CommonDialog y bueno... si a algun loco usuario se le ocurre decir "vamos a escribirle garatos a ver si da error" o que tal si alguien seleciona un archivo pero descuidadamente sin quere presiona una tecla con el codo, es decir por accidente le agregas una letras demas al nombre del archivo, ya desde el punto de vista del ordenador (por asi decirlo) ese archivo no existe y debe validarse eso para que no de error. Por eso a pesar de hacerle la busqueda con el CommonDialog el programa evita archivos que no existan o que no sean de formato de imagen valido para el picture. Pero ya todo listo Gracias por la ayudita compa, con tu permiso pongo tu codigo en un documentico de Word en donde recopilo algunas que otras cosillas, quien quita que me haga la urgencia y ya tenga a la mano un example. Thanks
256
« en: Jueves 2 de Febrero de 2006, 16:13 »
(cpmario) Lo que no muestras es el código que guarda la referencia de la foto y en que momento lo haces.
Si cierto verdad, aqui esta es este: On Error GoTo errorhandler 'Validando que no existan campos nulos: 'Evitando asociar la Foto a unos TextBox vacios If FrmPrincipal.TxtBuscar.Text = "" And _ FrmPrincipal.TxtNombre.Text = "" Then Unload Me MsgBox("Debe indicar los datos del registro para procesar") Exit Sub End If 'Referenciado a: 'Microsoft Scripting Runtime: Dim CopyFile As Scripting.FileSystemObject Set CopyFile = New Scripting.FileSystemObject 'Verificando nuevamente si el archivo de la Foto existe o no If Existe = vbNullString Then 'No Existe el Archivo de la Foto Unload Me Exit Sub 'No se muestra ningun aviso pq ese ya sale con el Load 'Esta ventana ya carga en su Load la Foto buscada con el CommonDialog 'que se encuentra en la ventana Principal. End If 'Si existe el archivo de la Foto, proceguimos... 'Primero revisamos que la foto será asociada a un 'registro existente en la BD: (buscamos el registro) If Rs.RecordCount > 0 Then Rs.MoveFirst While Not Rs.EOF If UCase(FrmPrincipal.TxtBuscar.Text) = Rs("TxtBuscar") Then 'Si existe el registro en la Bd: 'Verificando existencia de la foto y guardandola: '(nueva foto o cambiando anterior por una nueva) If CopyFile.FileExists(File) Then CopyFile.CopyFile File, App.Path & "\Imagenes\Fotos\" & FrmPrincipal.TxtBuscar.Text & ".JPG", True Unload Me BUSCANDO_FOTO 'Aviso de Foto Guardada: MsgBox("La Foto ha sido Guardada y asocidada al Contacto") Exit Sub End If End If Rs.MoveNext Wend Unload Me 'No se encontro el registro en la Bd: 'Se guarda el nuevo registro: Rs.AddNew Rs("TxtBuscar") = UCase(FrmPrincipal.TxtBuscar.Text) 'Nombre Clave Rs("TxtNombre") = FrmPrincipal.TxtNombre.Text Rs("TxtTelefCel") = FrmPrincipal.TxtTelefCel.Text Rs("TxtTelefHab") = FrmPrincipal.TxtTelefHab.Text Rs("TxtTelefTrab") = FrmPrincipal.TxtTelefTrab.Text Rs("TxtFax") = FrmPrincipal.TxtFax.Text Rs("TxtEmail") = FrmPrincipal.TxtEmail.Text Rs("TxtCumple") = FrmPrincipal.TxtCumple.Text Rs("TxtDireccion") = FrmPrincipal.TxtDireccion.Text Rs("TxtObservaciones") = FrmPrincipal.TxtObservaciones.Text Rs.Update '....................... 'Guardando la Foto: If CopyFile.FileExists(File) Then CopyFile.CopyFile File, App.Path & "\Imagenes\Fotos\" & FrmPrincipaol.TxtBuscar.Text & ".JPG", True Unload Me BUSCANDO_FOTO 'para mostrar de una vez. End If End If MsgBox("Registro Guardado") 'Formato de archivo de imagen incorrecto (.txt, doc, etc...) errorhandler: If Err.Number Then 'Error: 481 MsgBox("No Existe el Archivo de Imagen") Exit Sub End If
Esto busca la Foto en la carpeta "Fotos" y la muestra con su registro de una vez. en caso de que el registro tenga foto, sino tiene, entonces muestra una imagen (un logo -> Foto.jpg) que esta guardado en la carpeta "Fotos" para los registros que no tengan Foto. 'BUSCANDO LA FOTO DEL CONTACTO EN LA CARPETA "FOTOS" DENTRO DE LA CARPETA DEL PROGRAMA: Private Sub BUSCANDO_FOTO() Dim strNombre As String strNombre = FrmPrincipal.TxtBuscar.Text 'En caso de que las Carpetas Imagenes y Fotos hayan sido borradas 'se crean nuevamente: ExisteCarpeta App.Path & "\Imagenes" ExisteCarpeta App.Path & "\Imagenes\Fotos" On Error GoTo errorhandler 'Foto encontrada (si existe en la carpeta Fotos): If Dir(App.Path & "\Imagenes\Fotos\" & strNombre & ".JPG") <> "" Then FrmPrincipal.PictFoto.Picture = LoadPicture(App.Path & "\Imagenes\JPG\Fondo_Foto.JPG") FrmPrincipal.PictureX.Picture = LoadPicture(App.Path & "\Imagenes\Fotos\" & strNombre & ".JPG") Call Stretchpic2(FrmTelefonos.PictureX, FrmPrincipal.PictFoto) Exit Sub Else 'El Archivo No Existe (No Encontrado) FrmPrincipal.PictFoto.Picture = LoadPicture(App.Path + "\Imagenes\Fotos\Foto.JPG") End If 'Formato de archivo de imagen incorrecto (.txt, doc, etc...) errorhandler: If Err.Number Then 'Error: 481 'Aviso No Existe el Archivo de la Foto: Msgbox("La Foto seleccionada para el registro no existe, verifique") End If End Sub
Algo que se me paso comentar es que el problema puede ser algo más problematico de lo que pensé, porque cuando guardo el archivo en la carpeta "Fotos" el programa le pone extension .JPG eso quiere decir que si selecciono un archivo TXT el programa le cambiara el .TXT por un .JPG y entonces un codigo que valide la extensión del archivo para saber si es un archivo de imagen o no, es algo que no me sirve porque ese codigo de validacion de extension siempre encontrara la extension .JPG y no la .TXT ta fea la cosa verdad Voy a ver tu codigo para ver si anexo algo que resuelva eso, bueno yo no tengo que hacer nada de eso que haces en tu programa, eso de buscar la foto y poner el nombre en un TextBox, el programa hace todo esto más Automaticamente él solo, el usuario solo busca la foto y el programa se encarga de verificar que exista, lo guarda de una vez en la carpeta Fotos y el propio programa le cambia el nombre alarchivo por el CampoID del registro. Es decir, si consulto al usuario o cliente "Pepe" el programa el cambia el nombre a la foto y le pone "Pepe" y al consultar el registro busca el archivo "Pepe" en la carpeta "Fotos" el lo que respecta a la foto el usuario solo usa el mouse para buscar la foto y darle guardar, para que el programa lo asocie con el registro. Me parece muy buena idea lo del Textbox en donde se escribe el nombre del archivo de imagen, lo que pasa es que los usuarios que no saben nada de PCs les gusta todo mas facil y sencillo, darle un click aqui y allá, y listo, entonces uno trata de facilitarle las cosas, aunque seria muy vaga la persona que le pese darle a un boton para buscar la imagen (a juro tiene que hacerlo) y luego escribir el nombre del archivo en otra parte y luego guardar, eso no cuesta nada hacerlo, aunque lo mio ya esta todo hecho asi como decia, pero vere si le hago sus ajustes de buscar y guardar la imagen dependiendo de lo problematico que torne esto del formato de imagen.
257
« en: Miércoles 1 de Febrero de 2006, 20:13 »
Hola que onda.. unda duda, yo tengo un CommonDialog que abre la ventanita para buscar un archivo de Imange, busca archivos JPG aunque tambien se permite GIF, BMO y PNG, pero el caso es que a pesar de indicar *.JPG esto puede presentar un error. Se supone que el usuario busca una foto por esta ventanita del CommonDialog y luego de tener el archivo se abre una ventana FrmFoto de forma Modal la cual muestra en un Picture la foto. Pero si por pura casualidad, el usuario busca un archivo de otra extension, sea .txt, .doc, etc.. es decir que no es ni .jpg, ni nada de imagen, pues al llegarse al codigo del Picture, se produce un error. Este es el codigo del ComonDialog: With CommonDialog1 .DialogTitle = "Buscando Foto" .CancelError = False .Filter = "Todos los archivos (*.JPG)|*.JPG" .ShowOpen If Len(.FileName) = 0 Then File = "" Exit Sub End If If CommonDialog1.FileName = "" Then File = "" Exit Sub End If File = .FileName End With FrmFoto.Show vbModal
Bueno evite el error asi: On Error GoTo errorhandler 'AQUI CODIGO ETC.. 'Formato de archivo de imagen incorrecto (.txt, doc, etc...) errorhandler: If Err.Number Then 'Error: 481 MsgBox("Formato de Archivo Incorrecto, verifique") End If
Realmente cualquier error raro que suceda con el Picture sacara ese aviso, pero en un alto porcentaje el error en el Picture seria ese, buscar un archivo que no sea de imagen, asi que se ataja con eso y saca el aviso, ahi todo bien. Pero existe un problemita, resulta que el programa tiene un codigo que valida si el archivo buscado por el CommonDialog existe o no, el cual es este: Si existe el archivo, se guardó y está ahi para consultas del registro con Foto en la carpeta "Fotos": 'Foto encontrada (si existe en la carpeta Fotos): If Dir(App.Path & "\Imagenes\Fotos\" & strNombre & ".JPG") <> "" Then 'FrmPrincipal.PictureX.Picture = LoadPicture(Dir(App.Path & "\Imagenes\Fotos\" & strNombre & ".JPG")) FrmPrincipal.PictFoto.Picture = LoadPicture(App.Path & "\Imagenes\JPG\Fondo_Foto.JPG") FrmPrincipal.PictureX.Picture = LoadPicture(App.Path & "\Imagenes\Fotos\" & strNombre & ".JPG") Call Stretchpic2(FrmPrincipal.PictureX, FrmPrincipal.PictFoto) Exit Sub Else 'El Archivo No Existe (No Encontrado) FrmPrincipal.PictFoto.Picture = LoadPicture(App.Path + "\Imagenes\Fotos\Foto.JPG") End If
entonces obviamente el archivo (.txt, .doc, etc...) si existe por lo que el programa procede a hacer una copia del archivo en una carpeta llamda "Fotos" dentro de la carpeta del programa. No es un archivo de imagen pero como si existia el archivo sea TXt o otro formato, pues lo guardó... y al cargarse el FrmFoto con el Picture produce error. Entonces...Frene el error de cargarse el archivo (no imagen) en el Picture al buscarlo por el CommonDialog y asociarlo al registro del cliente, pero como el programa si guardo el archivo porque si existe, luego al hacerle una consulta al registro de este cliente, el programa busca la foto, consigue el archivo Txt o X formato e intenta con la consulta cargar la imagen en el Picture, pero como el archivo no es de imagen, el Picture saca el error. Con un IF o algo asi, como podria validar que el archivo si es un archivo de Imagen para evitar este error, estuve viendo algo de If Right(File,4)<>".JPG" Then pero no me dio buenos resultados. File es la variable que tiene el String de la ruta\archivo.extension. Quien ha trabajo con validar formato de archivos de imagene o no imagen asi? saludos gente
258
« en: Martes 31 de Enero de 2006, 22:35 »
que bien jc_moty al tener listo esto para tus desarrollos todo lo que hagas junto con lo anexado y los ajustes que le haras, sera algo casi impenetrable (digamos casi por si acaso hehe). Si imaginense, llegan en la mañana a la empresa, encienden la PC y el programa desencripta la BD, y cierra el programa al cerrar la oficina practicamente al final del dia, todo un dia la BD desencriptada, y es verdad, eso de encriptar y desencriptar en cada operacion de registros imposible. En una empresa donde hice algo, pude copiarme en un pendrive los fuentes de algo que alguien les hizo pero no se los termino, no sé pq, pero de esos fuentes si obtuve algunas cosas interesantes, un codigo que hace un Logs, cualquier error que el programa produsca, se crea un TXT y lo guarda en una carpeta llamada "Error" si la carpeta no existe la crea y guarda el TXT, bajo el nombre de la Fecha y la hora, si no mal recuerdo. Entonces si el progama presenta problemas, simplemente se le puede decir, mandenme la carpeta Error o los archivos de esa carpeta por correo o uno va, la copia y ahi sale, la Fecha, hora, e incluso Sesion de Usuario, y Error y el Form en el que se produjo. Codigo creador de Logs:Informa de la descripcion del problema, Form donde se produjo el error, fecha, hora, usuario (en caso de ser un programa con sesiones de usuario, login, psswd, etc) Esto va en un Modulo: 'Para la ventana de Aviso de Ocurrio un Error: Public archivos As New FileSystemObject ------------------------------------------------------------- Public Sub errHandle(srtFrom As String) MsgBox "Se ha generado un error, consulte con Servicio Técnico." & vbCrLf & vbCrLf & _ "Especificaciones:" & vbCrLf & _ "Descripción: " & Err.Description & vbCrLf & _ "Fuente: " & Err.Source, vbCritical, "Error" existecarpeta App.Path & "\Errores" Open App.Path & "\Errores\" & Format(Now, "dd-mm-yy hh.mm.ss am/pm") & ".txt" For Output As #1 Print #1, "Especificaciones:" & vbCrLf & vbCrLf & _ "Fecha: " & Format(Now, "dd-mm-yy, hh.mm.ss am/pm") & vbCrLf & _ "Usuario: " & nomUsuario & vbCrLf & _ "Formulario: " & srtFrom & vbCrLf & vbCrLf & _ "Fuente: " & Err.Source & vbCrLf & _ "Descripción: " & Err.Description Close #1 Err = 0 Screen.MousePointer = 0 End Sub ------------------------------------------------------- Public Sub existecarpeta(ruta As String) Set archivos = New FileSystemObject If Not archivos.FolderExists(ruta) Then Set archivos = New FileSystemObject archivos.CreateFolder ruta End If End Sub
En los Form se pone esto: On Error GoTo errHandle 'Todo el resto de tu codigo... If Err Then errHandle: errHandle (Me.Name) End If
Y aqui el mismo chino con diferente ropa: Option Explicit Private Const cModuleName = "modProcs." ------------------------------------------------------------------ '********************************************************************** '* Traps any runtime errors that occur and optionally raises them '* up to the calling client '********************************************************************** Public Sub logError(ByVal lngNumber As Long, _ ByVal strDescription As String, _ ByVal lLine As Long, _ ByVal strProcName As String, _ ByVal strSource As String, _ Optional ByVal strAdditionalInfo As String = "") Dim strErrorMessage As String '********************************************************************** '* Format the error message to give as much info as possible '********************************************************************** strErrorMessage = "Error en tiempo de ejecución" & vbNewLine & _ "Número:" & CStr(lngNumber) & vbNewLine & _ "Descripción:" & strDescription & vbNewLine & _ "Ocurrió en :" & strProcName & _ IIf(lLine <> 0, " en la línea " & CStr(lLine) & ".", ".") & vbNewLine & _ "Computador:" & Environ("COMPUTERNAME") & vbNewLine & _ "Origen:" & strSource & vbNewLine & _ "Versión de Aplicación:" & AppVersion & vbNewLine & _ "Ruta de Aplicación:" & AppPath If strAdditionalInfo <> "" Then strErrorMessage = strErrorMessage & vbNewLine & _ "Información Adicional:" & strAdditionalInfo End If App.LogEvent strErrorMessage, vbLogEventTypeError '********************************************************************** '* Now that we've logged the error we should raise it again so that it goes '* up the call chain '********************************************************************** Err.Raise lngNumber, strSource, strDescription End Sub ----------------------------------------------------------------
Y no lo he visto bien pq ahorita estoy haciendo algo que no tiene nada de Login y Pssword para el programa, no sé si me lo indiquen pero hasta ahorita no me han dicho nada, es algo sencillo el programita. Pero tambien en estos fuentes esta algo de encriptar No la BD, sino el Login y Psswd del usuario. Algo ahi para codificar Lg y Pswd de usuarios: Function Codificar(sContrasena As String) 'Encrypta Dim code Dim i As Integer code = Chr$(248) + "!#$%&/()=?¡¿*+[]{}:;:,._" For i = 1 To Len(sContrasena) Codificar = Codificar + Chr$(Asc(Mid$(code, i, 1)) Xor Asc(Mid$(sContrasena, i, 1))) Next i End Function
En modulo todo. Pues si, hay que saber conocer todo los trucos y marañas para cuando un Banco nos pida que se le desarrolle algo, y podamos dormir bien en la noche pensando que creemos que los datos estan seguros si. ta bueno el tema
259
« en: Lunes 30 de Enero de 2006, 20:01 »
Ya encontre algo que habia hecho hace tiempo, una consulta parecida pero de otra forma, elimine el ComboLista y el MSFlexGrid e hice una ventanita con un ListBox en donde se selecciona con un click a la persona, la ventanita se cierra y carga los demas datos del registro clickeado en la ventana principal, ya listo, si no se resolvia esa consulta por un lado, lo hacia por otro entonces La Fuerza es poderosa
260
« en: Lunes 30 de Enero de 2006, 18:53 »
Fernando H:
Seguro que debe de haber una funcio o rutina que encripte en realidad hay programas que desifran la contraseña de la base de datos y seria mejor encriptarla como archivo gracias por sus respuestas nos vemos
Si es verdad pueden conseguirse programas por ahi que permitan entrar a BD Access con clave, como estoy haciendo otras cosas, pues no me he puesto a probar estos fuentes que encriptan y desencriptan la BD, pero una pregunta para quienes ya lo han usado o anexado a sus programas en desarrollo... La BD está encriptada, al cargar el programa la desencripta para trabajar con ella y al cerrar la aplicacion, vuelve a encriptar la BD, pero mientras el programa está cargado, la BD está desencriptada? o la encripta y la desencripta en cada operacion de registros? porque si el programa la mantiene desencriptada mientras el programa esta en ejecución, entonces puede accesarse a ella por el propio Access si no tiene clave, si si la tiene, tal vez con algun programa pueda romperse esa clave no? Un programa para cualquier local o empresa, siempre tienen cargada la aplicacion, no la cierran y abren cada vez que haran algo, sino al terminar el dia y cerrar la oficina o tienda. Si encripta y desencripta en cada operacion de registros es perfecto, si mas bien, solo encripta y desencripta entre el estar ejecutado el programa y no, pues no si hay una pequeña brecha de inseguridad sobre todo si la BD mantiene datos delicados e importantes para alguna compañia. Bueno ahi ta pa que me digan quienes ya le han dado viaje a usar esto en sus programas para serlos más seguros , y hacer de este mundo, un mundo mas seguro hehehe
261
« en: Lunes 30 de Enero de 2006, 18:36 »
Es verdad, como se llena se vuelve a poner eso mismo al final del codigo de Guardar, Modificar y Eliminar, pero creo que hay un problema con eso. Bueno el bucle lo hago ya sea con Do While como con solo While siempre me ha funcionado igual. Al guardar un registro, seleccionar el campoID del Combo, el cual da la consulta de los demas datos llenando los TextBox, luego al Eliminar ese registro, sigue apareciendo en el Combo. Viendo este codigo (el primero) no realiza el bucle debido a que se indica que se mueva al primer registro para comenzar a hacer el bucle, el MoFirst da error si la BD está vacia, por lo que primero le puse un Rs.RecordCount >0 o un Rs.EOF que funciona igual, como es el primer registro guardado y eliminado de la BD, no hace el bucle ya que la sentencia IF no se cumple. If Rs.RecordCount > 0 Then Rs.MoveFirst While Not Rs.EOF Frorm1.CmbSeleccionar.AddItem Rs("TxtNombre") Rs.MoveNext Wend End If
Y si le quito los IF y lo dejo sin eso es lo mismo, no da error de codigo pero no actualiza el control. Lo de la sentencia IF es para el .MoveFirst ya que si la BD esta vacia el MoveFirst da error. Aqui produce un error al quitar la validacion para evitarle error al MoveFirst, lo malo de esto as es que el Recordset se queda en el recorrido, es decir, si antes se busco el Registro numero 5, con este codigo iniciara desde ahi hasta el final, en cambio con el MoveFirst iniciaba desde el primer registro hasta finalizar los registros de la tabla por medio del ciclo. Pero esto codigo asi da error, precisamente porque al entrar al While produce el error: No hay ningun registro activo al menos el codigo anterior evitaba que se produjese esto. While Not Rs.EOF Form1.CmbSeleccionar.AddItem Rs("TxtNombre") Rs.MoveNext Wend
Sé que por ahi va la cosa, pero parece que bueno tendre que ponerme a ver como hacer para que funcione, si veo que da mucho problema, elimino el combo, ni modo. El MSFlexGrid no tiene ninguna propiedad llamada .Propiedad lo indicaste en negrita pero no sé si era teorico ya que practico este control no posee la propiedad por codigo, bueno al menos no asi con esa sintaxis. La unica explicacion que podria ser para una propiedad de conexión seria la propiedad del MSFlexGrid.DataSource pienso yo uhmmm... Bueno lo de la conexion del MSFlexGrid e indicarla nuevamente por codigo al final del codigo de Guardar, Modificar y Eliminar, si tendre que ponerme a ver como le hago ya que me ha dado algunos errores eso tambien. Buen dato patitulofeo a veces uno no se recuerda que lo que se muestra es aun el Recordset con lo tomado por él anteriormente y debo limpiarlo y cargarlo con los nuevos datos de la tabla de la Bd a la cual esta relacionada, es la clave de todo sip Voy a probar y seguirle, y buscare un CD de backup de hace un tiempo en donde creo que tengo algo hecho con Combo y/o MSFlexGrid que hacen esto, ojala que si y que lo encuentre... bueno yo les cuento cualquier cosa, gracias muchachos
262
« en: Lunes 30 de Enero de 2006, 01:56 »
aqui cuotes esto no es algo que se presento ahorita, de hecho, desde que conozco o he usado el VB he visto este problema que es seguro que a muchos les ha pasado, en una ocasion lo resolvi de una forma rara, cerrando y volviendo a llamar al Form, no se notaba y parecia como si el control se refrescara, pero ya en otros casos no me sirve esa brutalidad hehehe. Es que tengo un Form en el que guardo unos registros en una BD Access (por eso preferi usar DAO solo en esta ocasion) y al guardarlo, tengo un ComboBox en el Form que muestra el Nombre del Cliente, se despliega y se selecciona el nombre para cargar todos sus demas datos en los Text del Form. El problema es que al guardar un registro este cambio o anexo no se refleja ni en el Combo ni en una rejilla MSFlexGrid que tengo, no refrescan ni para cuando se mete un nuevo registro en la BD, o actualizar uno ya existente o Eliminarlo, pq al eliminarlo sigue apareciendo tanto en el Combo como en el MSFlexgrid el registro. Entonces, como se actualiza la vista de estos controles pq al menos el MSFlexgrid lo tengo contectado a la Bd por medio de un Data al cual le hago Refresh, e incluso le hago Refresh tanto al combo como al MSFlexGrid o un Requery no recuerdo ahorita pero algo asi le he puesto en codigo a estos controles y nada, no actualizan los cambios, solo lo hacen si cierro y vuelvo a cargar el Form, pero eso asi no me sirve. Alguien sabe como refrescarlos? Estoy a solo un paso para comenzar a hacer el instalador y probarlo, pero ya de 2 problemas esta resulto uno (gracias cpmario) falta este otro, actualizar estos dos controles (distintos controles, mismo problema) que la fuerza te acompañe
263
« en: Lunes 30 de Enero de 2006, 01:45 »
gracias amigo funciona de maravilla lo anexo a lo mio, le hago unos ajustes y listo Thank´s man pd: ahora a postear una misma duda o problemita pero relacionado a dos controles hehehe...
264
« en: Sábado 28 de Enero de 2006, 01:27 »
hola, algo perdido yo por estos lares pero es debido a que estoy haciendo unas cosillas, a decir verdad, varias. Estoy haciendo un formulario que trabajara una serie de actividades, como obtención de datos de Clientes y tengo en mente que visualice Fotos. En una ocasion hice algo asi, se buscaba por el CampoID el registro del cliente y se visualizaba una Foto en un control Picture, pero yo tenia que ajustar manualmente (recudir el tamaño) de la imagen y guardarla en una carpeta para que la imagen se cargara bien, lo cual no sirve de nada asi. La idea es que cuando el operador del programa ingrese los datos de un nuevo usuario y le tome una foto con alguna webcam o le pida una foto para escanear del cliente, que el programa ajuste el tamaño de la imagen acorde al control Picture, ya que si la Foto es de 430 x 480, el programa debe reducirla a por dar un ejemplo, a 170 x 210 o algo asi para que pueda verse bien en el Picture. Algo asi como en el MSN que se coloca una foto sin importar su tamaño y en el Avatar aparece reducida lo necesario para verse bien, eso mismo pero en VB para la consulta de registros con Foto. Busque algun post de eso aqui pero luego de un buen rato que se tardo el buscador del foro, no encontro nada y he comenzado googleando en internet pero aun no he encontrado algo igual o similar al caso. Bueno si alguien conoce algo sobre esto, por favor, escribame sobre como podria hacerse y ver si lo adapto o no al formulario y programa en cuestion dependiendo de si sea o no algo posible de hacer. saludos
265
« en: Sábado 28 de Enero de 2006, 01:10 »
uhmm.. baje lo del amigo Widark, pero me dio el error de BD ISAM no encontrada, aunque los Data aun conservaban la ruta de tu HD Widark, al menos el Data2 al cual le cambie la ruta por la nueva, donde guarde lo bajado, el Data1 por propiedades indicaba por connect lo de Excel pero por como daba error probe buscarle el archivo Excel por la propiedad Database pero seguia con el errorsito, no sé si le corrio bien a Angel38. Ya no tengo el archivito Excel de algo que habia hecho hace ya unos cuantos meses atras, pero si tengo la BD de eso, Exporte la Tabla a formato Excel desde Access. Ese archivo Excel lo deje en el Escritorio, abri una BD Access nueva sin ninguna Tabla, en el Menú Archivo de Access seleccione "Obtener datos Externos" -> "Importar" busque el archivo Excel indicandole a Access Tipo de archivo: Microsoft Excel y pulsando Importar. Se abre una ventanita en la que pueden comenzar algunos tropiesos, bueno yo le di a todo Siguiente hasta Finalizar y converti el archivo Excel a una Tabla Access, y se puede hacer hasta con archivos TXT a convertir en Tabla Access. Bueno ojala te funcione y puedas adaptar lo de Widark a tu programa, sino, como plan de contingencia, pruebas pasar el archivo xls a tabla de Access y ya teniendola como Tabla se podra copy+paste los registros a tu tabla original y BD original. bueno suerte
266
« en: Domingo 22 de Enero de 2006, 00:11 »
muchas gracias amigo, me servira de mucho como referencia para lo mio, gracias
267
« en: Sábado 21 de Enero de 2006, 21:42 »
hola como estan
miren muchachos una pregunta, alguien ha hecho un programita tipo Video club, porque pienso hacer uno que de hecho ya empece desde ayer pero tengo unas dudas raras mientras lo iba haciendo. Tengo la BD y unos Formularios y tambien tengo unos cuantos tropiesos con eso hehe.
Es con respecto a la propia BD tengo dos tablas que no sé si estan demás y tambien el como mostrar cierta informacion en un Formulario, pero mejor espero a ver si alguien conoce sobre programitas de ese tipo para ponerles más info.
bueno gracias a quien sepa de esto, saludos.
268
« en: Sábado 21 de Enero de 2006, 21:02 »
QUOTE (UserCode) ¿Cómo asi de que es malo la declaracion de variables Globales para los objetos de conexión? ¿si es malo? y eso porque?
Creo que use la palabra incorrecta tongue.gif no es que sea malo declarar variables Globales, sino que a nosotros como programadores nos mal acostumbra ¿Porqué? por que cuando estemos aprendiendo otro lenguaje quiza necesitemos crear este tipo de variables y en algunos no se podra. En mi experiencia, lenguajes como PHP, C++, Java, VB .NET no admiten variables Globales. Y no solo es el hecho de las variables globales lo que nos mal acostumbra, hay muchas cosas de VB que mal acostumbran al programador: Variables sin declarar, Variables de tipo indefinido (Variant), Código repetido, Uso de goto y etiquetas, etc. El punto es: no acostumbrarnos a este tipo de cosas, para que cuando queramos o necesitemos aprender otro lenguaje no nos cueste tanto la transicion.
Saludos comp.gif
ahh ok gracias jc_moty, viendolo por ese lado si es cierto. Amigo patitofeo no sé si entiendo bien el problema, es una Bd protegida, como cuando la abres desde Access y te pide clave para poder abrirla, y quieres que el usuario pueda cambiar esa clave y que no este esa clave escrita directamente dentro del codigo de conexion del programa? es eso? porque no creo que sea clave de como cuando tu creas una tabla "Clave" o "Acceso" con campos de Login y Psswd, eso es acceso para el sistema, asi que lo tuyo debe ser claramente acceso a la BD, (lo reconfirmo por si acaso). Si quieres que el propio usuario cambie la clave de ser necesario, tal vez si tengas que hacer una tabla en la BD para eso y que el campo clave del string de conexion a la BD sea una variable que recoga el campo de esa tabla, bueno en teoria.
269
« en: Miércoles 18 de Enero de 2006, 22:41 »
compadre lo saludo Definitivamente bien detallado, explicado mejor imposible, tienes mucha experiencia en sistemas de caja, algo en lo que apenas me estoy metiendo a pesar de cada vez que voy al supermercado siempre me quedo mirando la pantalla sobre los procesos que todo esos sistemas implican y tan bien que se pueden vender, porque quien no tiene un negocio (bueno yo no hehehe). Sinceramente voy a poner eso en un documentico Word y releer toda esta info que me has dado, no esperaba lo de los campos de algunas tablas, las primordiales, pero en verdad que si me faltaban unos campos por lo que veo, y veo tambien que debo trabajarle a la rejilla para que muestre la ifnormacion como debe ser. El sistema a donde siempre voy, esta hecho en VFoxPro lo sé porque casualidad que estuve cuando el desarrollador estaba ahi con su laptop haciendole unos ajustes, bueno en mi caso seria en VB, y en verdad que si, me interesa mucho conocer de fondo este tipo de sistemas de caja, porque lo que he hecho ha sido sobre manejo de empleados, paquetes y cosas de empresas de proteccion de valores, al menos hasta ahora, y ya es hora de incursionarme en otro tipo de sistemitas de distintos procesos. Lo de eliminar si lo sé bien ya que en ocasiones he visto como algunos clientes no se llevan algo o por error pasaron el laser mas de una vez a un producto y deben llamar al supervisor para que ingrese una clave y tener acceso a la modificacion si cierto. Jose te agradezco mucho toda la informacion que me haz dado porque ahorita estoy solo en esto, conozco a alguien pero esta full, en lo que se refiere a buscar la opinion de alguien, y al menos ya puedo arrancar con esto. PD: perdon por alargarme siempre tanto, y gracias por lo del avatar, las rellenitas son mi pasion, no crean que soy ella ¬¬ mosca hehe.
270
« en: Miércoles 18 de Enero de 2006, 20:08 »
ahhhhhh broma si cierto, si los sp, llevo mucho tiempo que no uso controls Data, puro por codigo más fluido, los controles data son algo muy encapsulado, a bueno ya algo bueno para DAO que haga que aun se pueda seguir usando para BD Access más actuales, cool PD: yo creo que si tengo el sp5 o el sp6 por una vez que lo tuve que bajar para mostrar Reportes del DateReport en hoja Horizontal y no vertial ya que no cabian los datos en la hoja normal y el sp traia una funcion o dlls para eso, pero ya uso Crystal Report. mil perdones por la desactualizacion de los contorles Data y saludos developer
271
« en: Miércoles 18 de Enero de 2006, 20:00 »
hola uhmmm.. bueno esta es una opcion más no la solucion final del tema, pero yo por ejemplo hice una aplicacion de manejo de personal de 2 empresas que son filial. Por lo que me pasaron en formato Excel la lista de Empleados, eran como 165 empleados de una empresa y como 300 de la otra o algo asi, junto daban como 600 registros, pero claro esto estaba en Excel. Lo que hice (no fue tan facil eso si) fue usar lo de importar/exportar de Access (ya que tu BD es access y en mi caso era igual) y con algo de tropiesos, pase el archivo Excel a ser una Tabla de Access. Entonces una opción, es que podrias hacer eso, dices que cada cierto tiempo te mandan ese archivo Excel con más datos de clientes, bueno puedes hacer eso. Pasas de Excel a tabla Access (desde Access) eso, y otro dia que te manden el archivo Excel, lo vuelves a hacer pero en otra ruta de tu HD o otra carpeta (esto para no sobreescribir ya la tabla con la nueva info) sino que "temporalmente" haces otra vez la tabla en otra parte, para ya al tenerla, pasas los nuevos archivos a tu tabla Clientes y asi anexas en ves de sobreescribir. A mi me costo, y mas porque las ventanas (los Form) tenian como 60 campos y los datos de los Empleados en el archivo Excel eran muchos menos, a lo que pase el archvo Excel a Tabla Access tenia muchos campos vacios, culpa de la empresa el que faltaran datos, asi que algunos los llene yo, y otros en blanco, solo con tener lleno los necesarios para que el programa no diese error de campos nulos, con respecto a algunos datos, los demas no iimportaba que estuviesen en blanco, pero si fue algo con tropiesos, pero son cosas que se aprenden y ya uno sabe qué hacer o tener más de una idea de resolver ese tipo de cosas. Bueno ahi una opción, a esperara a que otra persona indique otra opción, esperando que sea mejor más facil y corta... saludos pues
272
« en: Miércoles 18 de Enero de 2006, 18:59 »
hola Si es verdad, DAO ya es algo del pasado, aunque cuando se ve que al parecer la BD seria una de Access, no esta nada mal usar DAO ya que es más amigable para Access como dijeron por ahi, es para motor jet. Si tu BD sera de Access puedes usar DAO porque es más rapido, ya que ADO utiliza un intermediario como ODBC u OLE BD para llegar al motor jet de Access lo cual lo hace lago tardio para conectarse, en lo que se refiere a operaciones de registros, pero esto se nota mas cuando la BD es muy grande, pero DAO accede directamente al motor jet y ADO por intermediarios al menos esto con Access, pero claro esta que por ejemplo el control Data de DAO solo entiende hasta el motor jet 3.5 o 3.6 ya para Access 2000 en adelante es jet 4.0 y el control no entiende el formato por lo que nunca podras conectar un control Data de DAO a una BD Access 2000 hay que convertirla desde Access a version 97 como ya han indicado por ahi, o hacerla en el VisData del propio VB version 7, la cual es Access 97. Pero para cualquier otra BD sea SQL Server, Oracle, etc.. definitivamente ADO jc_moty:
Personalmente uso ADO pero a nivel de Codigo (Sin el Datacontrol), se me hace mas practico que estar pegando un ADODC en cada form, simplemente uso una conexion global (se que esta mal crear objetos o variable de tipo Global biggrin.gif) a la que accederan todos los Recordsets de la aplicacion.
¿Cómo asi de que es malo la declaracion de variables Globales para los objetos de conexión? ¿si es malo? y eso porque? saludos pues.
273
« en: Miércoles 18 de Enero de 2006, 17:30 »
Hi all Tengo una curiosidad sobre los sistemas de Caja que se ven en cualquier tienda, automercados etc.. Por ejemplo en un Automercado cuando se realizan compras, el cajero(a) va apuntando todo con la pistalo lazer de codigo de barras y cada producto se va agregando a la vista en una Grilla en el Form. Metiendonos a niveles de BDs, ¿qué proceso suecede ahi? es decir, acaso el sistema toma cada producto de la Tabla "Productos" de la Bd lo elimina de la tabla y lo agrega en otra tabla llamada por ejemplo "Ventas"?? Pienso que lo que aparece en la regilla, al momento de que el cliente va cancelando sus productos, podria ser una especie de Tabla Virtual temporal en Memoria, y que luego eso el sistema lo guarda en la Tabla "Ventas" o "Salida" al cancelarse todo. Lo indico asi porque si la rejilla mostrase informacion de la tabla "Ventas" entonces al cargar el Form "Caja" apareceria en la Rejilla las ventas ya procesadas de otros clientes, si se entiende lo que digo no? porque nunca he hecho algo asi y no sé bien como se realiza un sistema de Caja con respecto a la BD. No veo bien como visualizar esto, tal vez en la Rejilla de la ventana "Caja" podria aparecer lo seleccionado de la Tabla "Productos" y que al cancelar se guarde en una tabla "Ventas"... obviamente de la Tabla "Productos" se restan (eliminan) los registros seleccionados que ahora seran guardados o apareceran en la tabla "Ventas". Pero con los controles de Rejilla sea DBGrid o otros, solo sé conectarlos a Tablas ya existentes con archivos, no sabria como mostrar en ella los productos seleccionados, ya que si la conecto a la tabla "Productos" apareceria todos los productos de la BD y no solo los seleccionadospor el cliente, y si la conecto a la tabla "Ventas" saldria en ella todas las ventas del dia o de la semana o el mes, por eso decia lo de la Tabla temporal que seria la que se veria en la Rejilla, lo seleccionado por el Cliente pasaria de la Tabla "Productos" a la tabla temporal para visualizarse en la Rejilla, y al cancelar pasaria a la tabla "Ventas", la tabla temporal se borraria y quedaria vacia para pasarle otros registros de la tabla Productos, con respecto a las compras de otro cliente, como una tabla puente entre "Productos" y "Ventas", no sé si esta bien eso asi. Bueno espero no haberlos enrredado con esto, trate de explicar estas insertidumbres que tengo sobre estos tipos de sistemas, perdon por lo largo del post. Saludos a todos los Developer de la comunidad
274
« en: Domingo 15 de Enero de 2006, 01:22 »
cool gracias compadre, si efectivamente photoshop es el mejor para el diseño grafico, y esos link estan muy bien, gracias los voy a ver y aprender mas de esta herramienta.
275
« en: Viernes 13 de Enero de 2006, 18:26 »
hola que tal, me gustaria saber unas cosillas que me tienen algo cabezon para un iniciado en diseño web, comenzando por webs estaticas. Como es hace para agregarle un desvanecimiento a una imagen al final de la misma, para dar un ejemplo y saber de lo que indico aqui hay unas imagenes de una web: Imagenes con desvanecimiento al pie de la imagen: http://www.ati.com/images/headers/buy/header-7406.jpghttp://shop.ati.com/buyatistore_assets/ima...welcome_ATI.gifhttp://www.ati.com/images/headers/products...home_office.jpgY como se hacen las letras con profundidad, aqui otro ejemplo de la misma fuente (o web): http://www.ati.comLa barra superior en gris que dice: PRODUCTS | TECHNOLOGIES | CUSTOMER CARE | BUY | DRIVERS & SOFTWARE | PARTNERS Como se hacen esas letras con profunidad lo he visto en otras web pero no sé si lo han hecho en Dreamweaver MX o en Photoshop, para ver si alguien podria saber como hacer eso en alguna de esas dos aplicaciones o en Fireworks MX me serviria mas el saber. bueno muchas gracias para quien tenga el dato de eso si, gracias.
Páginas: 1 ... 9 10 [11] 12 13 ... 15
|
|
|