|
Mostrar Temas
|
Páginas: [1]
|
1
|
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.
|
|
|
2
|
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.
|
|
|
3
|
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.
|
|
|
4
|
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.
|
|
|
5
|
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.
|
|
|
6
|
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.
|
|
|
7
|
Programación / Programación Visual Basic / SQL SUM() AS .. FROM ... WHERE... que no funciona
|
en: 30 Diciembre 2017, 16:38 pm
|
ver si alguien me consigue sacar del atasco. En el código siguiente se m da como resultado de la suma NULL, cuanto todos los campos de la columna de la columna 'importe' en la tabla remesas están bien están debidamente llenos: Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0.;Data source=C:\users\Alberto Moreno Gil\Documents\Lending.mdb" Cn.Open Rs.Open "SELECT COUNT(0)AS 'cuantosinv' FROM inversores", Cn, adOpenStatic, adLockPessimistic cuantosinvx = Rs(0) MsgBox cuantosinvx, 16, "Nº inversores" ' cuantosinvx es la variable que indica el nº de inversores. Ciclo exterior. Rs.Close Rs.Open "SELECT COUNT(0)AS 'cuantasplat' FROM plataforma", Cn, adOpenStatic, adLockPessimistic cuantasplatx = Rs(0) MsgBox cuantasplatx, 16, "Nº plataformas" ' cuantasplatx es la v. que indica el nº de plataformas. Ciclo interno Rs.Close '+++++++++++++++++++++ 'CICLO EXTERIOR (DE LOS INVERSORES)(principio) tfin = 0 Rs.Open "SELECT * FROM inversores ORDER BY inversor", Cn, adOpenStatic, adLockPessimistic Rs.MoveFirst Do While tfin < cuantosinvx inversorx = Rs.Fields.Item(1) 'CICLO INTERIOR (principio) Rs1.Open "SELECT SUM(importe) AS 'granremesa' FROM remesas WHERE INVERSOR = ' " & inversorx & " ' ", Cn, adOpenStatic, adLockOptimistic remesatot = Rs1(0) MsgBox remesatot, 16, "Importe remesas" En Rs1(0) me da como resultado de la suma NULL y a partir de ahí todo ya está mal. "inversorx" que es la condición está bien tanto en la línea de código como en una MsgBox que puse. En cuanto a las comillas y comas de inversorx en la expresión SQL creo que están bien. Me he dado varias vueltas por la red intentando aclararlo, pero nada. Gracias.
|
|
|
8
|
Programación / Programación Visual Basic / Descargar MSDN
|
en: 29 Diciembre 2017, 07:13 am
|
Hago algunas modificaciones en el código y cuando quiero "Guardar el ...frm" recibo el mensaje "Error de acceso a ruta o archivo: (y me sale la ruta en la que está cargado el .frm)". No me deja guardar el frm modificado y sigue como estaba antes. Pulso en ayuda y me dice que falta MSDN y debo cargarlo. No creo que me falte, pero en todo caso busco dónde encontrarlo para descargarlo. ¿Dónde puedo encontrar para descargar el MSDN? Gracias.
|
|
|
9
|
Programación / Programación Visual Basic / Error 3709. No se puede utilizar la conexión...
|
en: 27 Diciembre 2017, 07:21 am
|
Recibo el mensaje: "Error 3709. No se puede utilizar la conexión para realizar esta operación. Está cerrada o no es válida en este contexto." Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Alberto Moreno Gil\Mis documentos\lending.mdb " 'AMG GROW.LY '+++++++++++++++++++++ CurrentX = 2000 CurrentY = 10 Dim plataf As String Print " AMG Plataforma Remesas Cobros Préstamos Saldo"
CurrentX = 2500 CurrentY = 300 plataf = "GROW.LY" 'REMESAS Rs.Open "SELECT SUM(importe) AS 'importerem' FROM remesas WHERE inversor = 'AMG' AND platform = 'aGROW.LY' ", Cn, adOpenDynamic, adLockPessimistic
Lo chocante es que me ha estado funcionando y en el momento en que he copiado (duplicado) unas líneas de código me ha aparecido este mensaje. He "comentado" las líneas copiadas pero ya me queda sin funcionar. ¿Qué puede ser? Muchas gracias.
|
|
|
|
|
|
|