|
Mostrar Mensajes
|
Páginas: [1] 2
|
2
|
Programación / .NET (C#, VB.NET, ASP) / el proceso no puede acceder al archivo.
|
en: 11 Diciembre 2023, 17:27 pm
|
Estoy acabando una aplicación que tiene unos 12 ó 13 forms. Todo marcha bien hasta que abro el último form y entonces recibo el mensaje siguiente: “No se puede copiar “obj\Debug\inversiones3.exe” en “bin\Debug\inversiones3.exe”. El proceso no puede obtener acceso al archivo porque está siendo utilizado por otro proceso. El Archivo se ha bloqueado por “inversiones3 22996”. A la izquierda me aparece en una columna: error MSB 3021 / 3027 / 3026 estos números sucesivamente. Este último form no tiene relación con ninguno de los anteriores, aparte de aparecer en el índice de la presentación. He suprimido todos los rastros de este último form y sigue presente el mensaje de error. La aplicación la estoy haciendo con Visual Basic en Visual Studio 2019 como IDE. ¿Qué puedo hacer? Muchas gracias.
|
|
|
4
|
Programación / Programación Visual Basic / Orden SQL que no coge una variable como condición
|
en: 18 Enero 2018, 14:21 pm
|
Bs ds: Una consulta que para vosotros será una simpleza, pero a mí me trae de cabeza (valga el pareado). Tengo una BD Access 2007 con las tablas, entre otras, Operaciones, Clientes (clave de tres letras), Platform. Pretendo obtener un listado de Operaciones filtradas por el Cliente que yo desee y que aparezca en DataGrid, preferentemente o como sea, y que esté ordenado por Platform y fechainic (un campo dentro de Operaciones) DESC. Lo ideal sería “coger un Cliente de su tabla” y mediante un DataCombo o DataList entrar esta variable en un text. Y de éste al ADODC de DataGrid y obtener lo que deseo. Como no consigo que esta parte de “coger un Cliente de su tabla” me funcione he ido a un procedimiento más rústico: crear un txt1.text y en él entrar a mano la clave del Cliente (tres letras) para pasar esta variable ‘ “ & txt1.text & “ ‘ en el SQL del ADODC de la DataGrid. No funciona. ADODC1 que es también el ADODC de la DataGrid. En código He creado un txt1.text para entrar a mano la clave del cliente. Si pongo en la orden SQL del ADODC: SQL * FROM operaciones WHERE cliente = “AMG” ORDER BY platform, fechainic DESC. Funciona perfectamente Pero si entro a mano en txt1.text AMG u otra clave de cliente y en la orden SQL del ADODC: SQL * FROM operaciones WHERE cliente = ‘ “ & Ltrim(txt1.text) & “ ‘ ORDER BY platform, fechainic DESC. No ocurre nada. He hecho probaturas sin Ltrim, con “ “ “ & txt1.text& “ “ “ , en fin, todo lo que se me ha ocurrido. Aparece la DataGrid pero vacía, aunque antes y después de la orden SQL mediante MsgBox aparece que txt 1.text = “AMG” o cualquier otra variable que se haya tecleado en txt1.text Es mi última dificultad. ¿Me podríais echar una manita? Mil gracias, Alberto.
|
|
|
5
|
Programación / Programación Visual Basic / Base de datos que "no se puede localizar"
|
en: 15 Enero 2018, 15:57 pm
|
Buenas tardes. Tengo una aplicación que funciona perfectamente con su BD en cuanto a añadir, editar, suprimir registros. El camino que le tengo puesto es C:\Program files\Microsoft Visual Studio\VB98\lending.mdb . Así está en todos los ADODC con enlace comprobado y funcionando la aplicación-. Pero quiero entrar a la BD con Access y no me deja, con el mensaje :"No se pudo encontrar el archivo C:\... lending.mdb". Entro por C:\archivos de aplicación ...VB\ y no está visible este archivo lending.mdb. Entro por el Visual Basic y sí aparece, pero cuando quiero abrirlo me dice "No se puede cargar lending.mdb". Lo cual me crea un problema gordo si pretendo distribuir la aplicación con su base de datos. ¿Qué puedo hacer para tener acceso as este archivo? Muchas gracias.
|
|
|
6
|
Programación / Programación Visual Basic / Entrar una variable de Fecha a una query SQL
|
en: 8 Enero 2018, 11:30 am
|
Quiero entrar en la condición WHERE de una query SQL la condición que la fecha sea menor que una que he entrado en una Maskedbox. En otras palabras, quiero obtener de la tabla prestamos un Recordset con los registros que cumplan unas condiciones; plataforma, inversor y fecha a partir de la cual se hizo la operación. Estos valores de condición los he escrito fuera en unas textbox y la fecha en una MaskEdBox. Luego he escrto en el código plataf = Texbox1.text inver = Textbox2.text fecha1 = MaskEdBox1.text Rs.Open "SELECT * FROM prestamos WHERE plataforma = """ & plataf & """ AND inversores = """ & inver & """ AND fechainic =....., Cn, ... Para la condición de fechainic he hecho un montón de tentativas, por ejemplo fechainic <= ' " & Format(MaskEdBox1, "mm/dd/yyyy")
Ninguna de ellas me ha funcionado. Recibo el mensaje "Data type mismatch in criteria expresión." La fecha (fechainic) está en Access 2007 como fecha/hora, fecha corta 01/01/2010. Pregunto ¿Cómo debo entrar la variable (fechainic) a la query SQL? Las demás condiciones funcionan perfectamente. Gracias.
|
|
|
7
|
Programación / Programación C/C++ / query SQL que no responde adecuadamente
|
en: 7 Enero 2018, 13:17 pm
|
Quiero crear un Recordset de la tabla prestamos con las condiciones en platform y en inversor. Las variables han pasado perfectamente a la query. pero...recibo la respuesta "Error 3001 en tiempo de ejecución. Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros ." El código que he puesto es: En la condición tenía además una fecha, pero la he quitado para ver si aclaraba la cuestión y no.
Rs.Open "SELECT * FROM prestamos ORDER BY fechainic WHERE platform = """ & platform & """ AND inversor = """ & pepito & """ ", Cn, adOpenStatic, adLockOptimist
¿Alguna idea salvadora? Gracias.
|
|
|
9
|
Programación / Programación Visual Basic / Ciclo Do While anidado que no coge al ciclo interior
|
en: 4 Enero 2018, 10:58 am
|
Buenos días: Tengo un ciclo exterior de inversores Rs, otro ciclo interior de plataformas Rs1(donde han invertido los inversores) y dentro del ciclo interior la suma de lo que cada inversor ha invertido en cada plataforma Rs2. El problema es que sólo me funciona en la primera parte, es decir obtengo como salida: inversores Plataformas Importes A Lendix 1000 Lendopolis 1200 Groiw.ly 1400 ..... ..., B C ...
'CICLO EXTERIOR (DE LOS INVERSORES)(principio Rs) tfin = 0 Rs.Open "SELECT * FROM inversores ORDER BY inversor", Cn, adOpenStatic, adLockPessimistic Rs.MoveFirst Do While tfin < cuantosinvx 'cuantosinv es el nro de inversores inversorx = Rs.Fields.Item(1) CurrentX = 500 CurrentY = CurrentY + 500 Print inversorx 'CICLO INTERIOR (PLATAFORMAS principio Rs1) Rs1.Open "SELECT * FROM plataforma ORDER BY platform", Cn, adOpenStatic, adLockOptimistic Rs1.MoveFirst CurrentY = CurrentY - 100 Do While j < cuantasplatx 'cuantasplatx es el nro de plataformas platformx = Rs1(1) CurrentX = 1300 CurrentY = CurrentY - 100 Print platformx Rs2.Open "SELECT SUM(importe) AS importex FROM remesas WHERE inversor = """ & inversorx & """ AND platform = """ & platformx & """ ", Cn, adOpenStatic, adLockOptimistic If Not IsNull(Rs2(0)) Then importex = Rs2(0) Else importex = 0 End If CurrentX = 3000 CurrentY = CurrentY - 100 Print importex Rs2.Close Rs1.MoveNext 'Mover a la siguiente plataforma j = j + 1 Loop 'Ciclo de las plataformas Rs1 Rs1.Close 'cerramos el Recordset de las plataformas Rs.MoveNext 'Mover al siguiente inversor tfin = tfin + 1 Loop 'Ciclo EXTERIOR (de los inversores Rs) tfin = 0 Rs.Close
Mi pregunta es: ¿por qué funciona bien con el primer inversor cogiendo el ciclo de las plataformas y con los demás inversores pasa de largo sin coger el ciclo interior? Muchas gracias.
|
|
|
10
|
Programación / Programación Visual Basic / Re: SQL SUM() AS .. FROM ... WHERE... que no funciona
|
en: 3 Enero 2018, 07:29 am
|
Muy buenos días. Lo intenté sin éxito. Buscando después, en una página de Microsoft especializada en comas, comillas y cometas encontré estas instrucciones que sí me han solucionado al fin:
Rs.Open "SELECT * FROM inversores ORDER BY inversor", Cn, adOpenStatic, adLockOptimistic Rs.MoveFirst inversorx = Rs(1) MsgBox inversorx, 16, "Inversor 1º" 'Me devuelve en inversorx = "AMG" Rs1.Open "SELECT SUM(importe) FROM remesas WHERE inversor = """ & inversorx & """", Cn, adOpenStatic, adLockOptimistic totalrem3 = Rs1(0) MsgBox totalrem3, 16, "Suma de las remesas de inversorx " 'FUNCIONA Rs1.Close Rs.Close
Tengo que decir que en esta página dice que esto de las """& ... & """" (tres " más la final " es equivalente al procedimiento que tú me indicaste, pero el procedimiento de las tres " me ha funcionado y el otro no. Misterios. Muchas gracias por aguantar la matraca que te he dado y feliz año.
|
|
|
|
|
|
|