Hay un total de 1456 Preguntas. | << >> |
Pregunta: | 66188 - UPDATE E INSERT EN MYSQL CON CONEXION ODBC |
Autor: | daniel marte |
Buenas Noches, tengo una conexion odbc desde foxpro 6.0 a una base de datos en mysql, la cual funciona a la perfeccion. cuando actualizo (update) o inserto (insert) me funciona a la perfeccion, pero solo con cinco campos o menos, si le agrego un campo mas, me da error, el codigo es el siguiente
para la conexion public lnhandle no tengo idea de lo que puede estar pasando |
Respuesta: | Guadalupe Leija |
Lo que debes de hacer es meter el comando de MySQL a un TEXT ejemplo:
TEXT to mysql noshow UPDATE tabla_en_uso SET campo1=?variable1, campo2=?variable2, campo3=?variable3, . . campoN=?variableN ENDTEXT SQLEXEC(_oconnect,mysql) |
Pregunta: | 66194 - COMO UTILIZAR TABLA TEMPORAL EN UNA GRID |
Autor: | Carlos Quisay |
Hola estimados colegas, necesito utilizar en una GRID una tabla temporal (sys(3)) para ingresar datos de pagos de facturas.
Cuando utilizo la tabla original la grid me funciona muy bien, lo que pasa es que tengo registros y me salen todos los registros. La idea es utilizar una copia de la tabla original, asignarla al temporal generada con SYS(3) para añadir o borrar las diferentes formas de pago. Si alguien me puede ayudar gracias de antemano. |
Respuesta: | Carlos Quisay |
Gracias Jose Maria, una respuesta excelente, he solucionado el problema con tus indicaciones. Saludos |
Respuesta: | Jose Maria VIlar |
Si entiendo lo que necesitas, la forma en que yo lo realizo es
En el fuente creas un cursor Ej. CREATE CURSOR PAGOS(CODIGO N(10), DETALLE C(50) .......etc ) loscampos que necesites , luego cargas en este cursor los campos que necesites de la tabla. Utilizas este cursor PAGOS en la grilla y al confirmar la carga haces un proceso que barra este cursor y actualice la tabla. Otra forma que es la que utilizo es crear una vista de la base que necesito usar y establecer los campos a actualizar , ponerla en la GRID y al confirmar se actualizara , recorda poner al finalizar =CURSORSETPROP("Buffering",3) =TABLEUPDATE(.T.) No se si me explique bien pero cualquier cosa hacemelo saber |
Pregunta: | 66224 - AYUDA EN CONTROL DE DUPLICADOS DE REGISTROS |
Autor: | Victor Hugo Cuellar |
Hola... necesito por favor una manito en un problema que se me presento en un modulo de captura de informacion...
Al intentar crear un nuevo registro necesito validarlo para saber si existe y si es asi me notifique... de lo contrario me deje crearlo... A continuacion les muestro el codigo que me recomendaron pero no me funciona... IF .NOT. SEEK(STR(this.value, 12), 'ccnit', 'nitlla') INSERT INTO ccnit (nitlla, nitdes, cedula) VALUES (this.value, 'nuevo tercero', 0) ENDIF thisform.release este codigo esta en el procedimiento lostfocus del campo de captura llamado txCod De ante mano les agradesco |
Respuesta: | Jose Maria Vilar |
1.- Si le estableciste una clave
sele archivo 2.- Si no le estableciste una clave sele archivo Espero habertelo explicado bien, cualquier cosa me avisas |
Pregunta: | 66251 - VFP 9 CON WINDOWS 7 |
Autor: | Alicia Barat |
Tenemos problemas con una aplicación en VFP9 SP2 corriendo en una pc con Windows 7. Paso a comentar para que tengan idea de que es lo que está pasando.
Trabajamos en Red Novell. Nuestra aplicación está corriendo en un servidor que es accedido desde varias pc y los datos los tenemos en SQL 2003. La aplicación genera en el disco C de cada pc que la accede y en un directorio de trabajo archivos de trabajo. Cuando se están ingresando datos cada 4 o 5 transacciones nos dá el mensaje de error "File in use" siendo que desarrollamos una rutina que controla que se generen hasta 50 archivo de trabajo en la aplicación para esa pc y controlamos que el archivo no esté en uso |
Respuesta: | Ignacio Casinelli Esviza |
Alicia,
1. Pudieron correr la aplicación desde VFP con el debuger y ver exactamente cuál fue el archivo que dispara el error? 2. Tené en cuenta (ya lo saben quizás) que si el ejecutable está en la red y todos los clientes ejecutan el archivo en una carpeta compartida es posible que se creen archvos de recursos (foxuser.dbf) en el mismo directorio que el ejecutable y cuando otro usuario los accede los bloquee. no es una fija, es solo una cosa a chequear. 3. está bueno armar un log en forma de .txt que escriba una línea por cada archivo que se abre y al momento del error se detectaría cuál es la tabla o archivo que lo traba. 4. si se intentan desde el mismo programa abrir dos veces un archivo local con alias, la aplicación se confunde y creen que son dos distintos y si los estás intentando abrir en modo exclusivo no te va a dejar. |
Pregunta: | 66302 - COMO PUEDO INSERTAR CAMPOS A VARIAS TABLAS |
Autor: | Fernando Vargas |
Tengan un muy buen dia todos, primero que nada les quiero dar las gracias por su valiosa ayuda.
Mi pregunta es la siguiente: Como puedo agregar el mismo campo a dos tablas diferentes, las tablas se guardan en carpetas de datos y meses diferentes por ejemplo: Nombre de la carpeta general: EMP001 Nombre de las carpetas de los meses: 012012 022012 032012 etc.. las tablas se repiten en todos los meses, en algunos meses no existe (Es porque asi esta diseñado mi sistema), el detalle es que son muchos periodos los trabajados y muchas carpetas EMP00xx las que existen, necesito un codigo que vaya carpeta por carpeta validando si existen las dos tablas que les comento, entonces que agregue el campo... Espero haberme dado a entender y gracias por su ayuda.. Saludos |
Respuesta: | Eduardo Ureña |
Yo utilizaría un ciclo For para hacerlo.
Ejemplo: DIME Años(4) &&Años que se van a trabajar... Años(1)="2010" Años(2)="2011" Años(3)="2012" Años(4)="2013" FOR J=1 TO 4 &&Segun los años... FOR I=1 TO 10 &&Cantidad de carpetas IF I<10 Xl="0"+ALLTRIM(STR(I)) ELSE Xl="ALLTRIM(STR(I)) endif Carpeta_Principal="EMP001"+Xl+Años(I)+"" Archivo_a_modificar=Carpeta_Principal+"NombreArchivo.Dbf" IF FILE(Archivo_a_modificar) &&Revisando si el archivo existe... USE (Archivo_a_Modificar) in 0 ALIAS Trabajo EXCLUSIVE SELECT Trabajo ALTER TABLE Trabajo ADD COLUMN NombreCampo c(20) use ENDIF NEXT I NEXT J ************ Por ahí andaría el asunto, al menos para mí. No he chequeado su funcionamiento porque es sólo un ejemplo y asumo que tenés conocimientos suficientes en VFP para entender la idea. Saludos |
Pregunta: | 66313 - COMO IMPRIMIR LOS DATOS DE FORMULARIO ACTUAL |
Autor: | gabriel valles |
Tengo un formulario con un registro, y quiero imprirmir este, pero ya he intentado y no hay resultados ejemplo
SET DEVICE TO printer SET PRINTER on STORE 0 TO l l=l+1 @ l,10 say "Formato de Cliente" l=l+1 . . . eject SET DEVICE TO printer SET PRINTER off pero solo imprime 1 vez y se bloquea la impresora, he intentado con varias combinaciones pero no tengo exito, alguien que me pueda ayudar, gracias.. |
Respuesta: | Jose Maria Vilar |
Con que version de VFP estas trabajando, porque no creas reportes, De todos formas por lo que veo, no tenes una secuencia de impresion armada EJ, FOR I = 1 TO XXXX @ l,10 say "Formato de Cliente" ENDFOR Cualquier cosa escribime |
Pregunta: | 66320 - IMPORTAR DOS TABLAS DE EXCEL A UNA SOLA EN VFP |
Autor: | Johdag Johdag |
Hola, tengo una cuestión,
Necesito importar dos tablas desde excel a una sola en VFP. Si utilizo el comando Append From con la primera tabla si me funciona correcto; pero al utilizarlo con el segundo xls me sobrescribe los registros y sólo aparecen los últimos importados. Qué comando necesito?? No puedo guardar los datos en una sóla tabla de excel ya que son más de 180 mil registros y para importar a VFP la solución más sencilla que encontre fue convertir los xls a version 5.0, pero esta version solo me permite guardar hasta 65 mil registros. asi que tuve que dividir la tabla en tres partes.. Alguna solución? se nota que no soy experto, pero voy aprendiendo con mis errores. Hasta ahora tengo apenas unas cuantas lineas: xarchivo=GETFILE('xls','Archivo de Excel','Abrir',1,'Abrir Archivo de Planilla de Excel') SELECT 50 USE "mi tabla" APPEND FROM (xarchivo) TYPE xls |
Respuesta: | Jose Maria Vilar |
Lo mas simple que se me ocurre es que crees dos cursores con el formato de la tabla, primero importas el excel a un cursor y luego al otro.
Al terminar comensas a leer un Cursor y lo grabas en tu base y luego haces lo mismo para el segundo cursor Ej create cursor primero( registro1,registro2,registro3.....) create cursor segundo( registro1,registro2,registro3.....) && Deben ser igual a la tabla que queres actualizar xarchivo=GETFILE('xls','Archivo de Excel','Abrir',1,'Abrir Archivo de Planilla de Excel') SELE O USE "mi tabla" SELECT 0 USE " primero" APPEND FROM (xarchivo) TYPE xls SELECT 0 USE " segundo" APPEND FROM (xarchivo) TYPE xls sele " primero" scan scatter memvar sele "mi tabla" appe blank gather memvar endscan SELE " segundo" scan scatter memvar sele "mi tabla" appe blank gather memvar endscan Espero que lo entiendas |
Pregunta: | 66372 - RUTINA DE SEEK VFP9.0 |
Autor: | Alejandro Chavarria Nuñez |
¡Hola Programadores del mundo!
Les tengo una pequeña consulta con respecto a la rutina de el comando SEEK al momento de que ejecuto un formulario me busque el registro indexado. si lo encuentra que me notifique , si no, que lo guarde. Al parecer me esta dando problemas ya que cuando le doy al botón guardar solo me salta la condición que diga que ya existe el registro , pero siempre lo guarda. ¿que estoy haciendo mal?. Aquí les dejo mi rutina : SET ORDER TO num_cheque SEEK (thisform.txtnum_cheque.value ) IF FOUND() MESSAGEBOX("NUMERO DE CHEQUE YA INGRESADO EN LA BASE DE DATOS", 48, "ERROR") ELSE Reemplazar registro with thisformtxtbox.value . . . ENDIF Saludos desde Honduras. |
Respuesta: | Sebastian Penayo |
lo que faltaria es que limpié todo el el text donde digitas el código del cheque. y lo retornes ahi.
SET ORDER TO num_cheque SEEK (thisform.txtnum_cheque.value ) IF FOUND() MESSAGEBOX("NUMERO DE CHEQUE YA INGRESADO EN LA BASE DE DATOS", 48, "ERROR") thisform.txtnum_cheque.value=0 && caso que sea numérico thisform.txtnum_cheque.value=space(30) && caso que sea alfanumérico thisform.txtnum_cheque.enabled=.t. && habilitas el text thisform.txtnum_cheque.setfocus() &&retorne el cursor en ese text ELSE Reemplazar registro with thisformtxtbox.value . . . ENDIF |
Pregunta: | 66484 - PANTALLA BLANCA EN VF9 |
Autor: | Juan Garcia |
Realice un programa con un formulario MDIForm principal y 3 secundarios que se ejecutan desde un menu, al compilarlo y ejecutarlo al abrir y cerrar el formulario principal aparece una pantalla blanca, que debo hacer para que no aparezca, aqui esta la programacion del .prg
SET DATE FRENCH SET DELETED ON SET TALK OFF SETmain =.t. _screen.visible=.f. DO FORM PRESENTACION.SCX Application.Visible = .F. DO FORM PRUEBA.SCX ON SHUTDOWN DO Salir READ EVENTS RETURN y en la ventana de propiedades MDIForm = .T. ShowWindow = 2 y cree un config.fpw con screen = off |
Respuesta: | Luis Luis |
En el config.fpw SCREEN = OFF |
Pregunta: | 66489 - ENVIAR COPIA BASE DATOS POR EMAIL CADA DIA AUTOMATICAMENTE? |
Autor: | Damian Ruzak |
Hola.Que tal
Estoy en con una aplicacion de un almacen. El dueño quiere ver y asi conocer el movimiento de ventas y stock del negocio a distancia, de forma diaria. Para ello pense en: 1-hacer que al finalizar el dia (ya sea por horario o al momento de cerrar el programa), que haga una copia de la tabla de movimientos (ya sea en txt o simil) y se lo envie atraves de un email directo al dueño (de paso asi le queda de backup). 2-o sino, hacer que la base de datos estee en un archivo access y que este se levante automaticamente a un host para que asi lo vea via web al archivo de la B.D. **La idea es que sea automatico, sin que el empleado que usa el programa estee armando enviar el mail, o tener que hacer otro proceso, ya que suele ser "tronco" por asi decirlo. CUAL OPCION RECOMENDARIAN, O QUE OTRA OPCION SENCILLA HABRIA PARA APLICARLA A ESTE FIN. Ya que quizas estoy pasando por alto algun paso sencillo. Agradezco sus respuestas detalladas |
Respuesta: | Miguel Angel Henao Avendaño |
Hola Damián,
Yo hago lo mismo que te están pidiendo de la siguiente manera: Tengo una tarea programada que ejecuta un programa el cual envía un correo automático con los datos ajuntos todos los días a las 5am mediante Outlook. Debes tener obviamente Outlook instalado y listo.. |
|< << 136 137 138 139 140 141 142 143 144 145 146 >> >| |