![]() |
ListBox, textbox y BD Como estan, necesito de su sabiduria!!! Tengo un sistemita que adm. fichas medicas. Basicamente funciona asi Cargo la ficha en un txtbox (multiline) y lo grabo en la BD, cuando quiero consultar todas las fichas lo muestro en un listbox y me muestra todo El problema es que si en el txtbox cargue varias lineas me muestra el reg. en una linea y separa los enter con 2 []. Como puedo hacer para que lo muestre separado? A mi se me ocurrio grabar en la bd varios registros segun la la cant. de caracteres (ej. cada 80) o por cada enter. El tema es que no se como Les paso los codigos HISTORIAL LstHis.Clear Codigo = frmPacientes.TxtCod Set RsHisto = New Recordset ssql1 = "select Cod_Pa, Historia, (Left(Fecha,3) & Mid(Fecha,4,3) & " _ & "Right(Fecha,2)) as Fecha, Detalle from historias " _ & "where Cod_Pa = " & val(Codigo) & " and Estado= 'A' order by Historia " RsHisto.Open ssql1, CnSAHC, adOpenDynamic, adLockOptimistic If RsHisto.BOF And RsHisto.EOF Then LstHis.AddItem "Ficha Vacia" Else LstHis.AddItem RsHisto!Historia & " - " & RsHisto!Fecha & " - " & RsHisto!Detalle RsHisto.MoveNext Do While Not RsHisto.EOF LstHis.AddItem RsHisto!Historia & " - " & RsHisto!Fecha & " - " & RsHisto!Detalle RsHisto.MoveNext Loop End If RsHisto.Close End Sub ALTA Codigo = frmPacientes.TxtCod Set RsHisto = New Recordset ssql1 = "select Historia from historias " _ & "where Cod_Pa = " & val(Codigo) & " order by Historia " RsHisto.Open ssql1, CnSAHC, adOpenDynamic, adLockOptimistic If RsHisto.BOF And RsHisto.EOF Then TxtCodHis = 10 Else RsHisto.MoveLast Codigo = RsHisto!Historia Codigo1 = val(Codigo) + 10 TxtHis.SetFocus TxtCodHis = Codigo1 End If RsHisto.Close A partir de aca compruebo y grabo If TxtHis = "" Then Men = MsgBox("Complete la ficha nueva del Paciente", vbExclamation, "Campo Incompleto") TxtHis.SetFocus Exit Sub End If Fecha = Format$(Date, "dd/mm/yy") CodPac = val(frmPacientes.TxtCod) On Error GoTo ErrTrans CnSAHC.BeginTrans ssql = "insert into historias (Cod_Pa, Historia, Fecha, Detalle, cod_me, Estado) " _ & " values ('" & CodPac & "', '" & Histo & "','" & Fecha & "','" & TxtHis & "'" _ & " ,'" & Medico & "', 'A')" CnSAHC.Execute ssql CnSAHC.CommitTrans TxtCodHis = "" TxtHis = "" CargaHis Exit Sub ErrTrans: If Err.Number <> 0 Then mes = Err.Number Men = MsgBox("Se produjo un error en la actualizacion de los datos", vbExclamation, "Error de Sistema") CnSAHC.RollbackTrans End If Gracias por su ayuda. |
consulta como tienes definido el textbox como multiline? lo otro tendrias que probar que tal te va con un replace |
Si esta como multiline. Funciona todo pero me graba todo en un registro y cuando consulto el historial me muestra todo en una linea en un listbox. Lo que necesito es que lo muestre como se ingreso en el txtbox. por eso se me ocurrio grabar varios registros de 80 de caracteres max y reconozca el enter. El problema es que no se como encararlo. A que te referis cuando decis que pruebe con un replace. |
Estoy tratando de realizar la consulta para ver el historial en el listbox grabando una linea cada 80 chr con la funcion Len y Mid, el problema que tengo es que no se como reconocer el enter que tengo grabado en la base me muestra 2 signos ej. "El texto q tengo grabado. [][] con el enter en la misma linea." Lo que necesito es que muestre hasta el enter o 80 chr. por linea El campo en la bd es de tipo memo. Por favor si pueden darme una mano, ya que lo necesito urgente. Gracias de antemano |
No se si funcionará pero has probado que por ejemplo cuando te carge los datos en el textbox, lo revise letra a letra, y cuando encuentre [] pues que haga un enter o cuando encuentre [][]. Que cuando encuentre esos caracteres le metes por ascii un enter (si no recuerdo mal creo que era el 13), pero vaya alomejor estoy diciendo una tonteria. Estoy empezando un poco y solo son algunas ideas jejeje, espero ser de ayuda... |
el replace que te digo es algo asi txtMemo.text = Replace( miRecordset!CampoMemo, "[][]", vbCr + vbLf) lo que hace esta funcion reemplaza un juego de caracter por otro dentro de una cadena, el vbcr + vblf simulan el enter pruebalo asi y nos comentas. |
| La zona horaria es GMT -6. Ahora son las 12:32. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.