Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

problemas al guardar....

Estas en el tema de problemas al guardar.... en el foro de Visual Basic clásico en Foros del Web. hola... tengo 1 aplicacion q hace una busqueda de proyectos... con el cambio de año no quiere hacer la busqueda.... solo expulsa como resultado los ...
  #1 (permalink)  
Antiguo 09/01/2008, 10:38
 
Fecha de Ingreso: noviembre-2007
Mensajes: 39
Antigüedad: 16 años, 5 meses
Puntos: 0
problemas al guardar....

hola... tengo 1 aplicacion q hace una busqueda de proyectos... con el cambio de año no quiere hacer la busqueda.... solo expulsa como resultado los nombres de las columnas y sin datos..... pero si m reg al año pasado lo hace perfectamente bien !!! no se q pueda ser !!! alguien m puede ayudar, por favor

gracias
  #2 (permalink)  
Antiguo 09/01/2008, 14:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: problemas al guardar....

Sería conveniente que ampliaras tu explicación y que pongas tu código donde tienes problemas
  #3 (permalink)  
Antiguo 10/01/2008, 10:00
 
Fecha de Ingreso: noviembre-2007
Mensajes: 39
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: problemas al buscar.....

la aplicacion no m marca ningun error, corre perfectamente bien...
con el cambio de año, solo busca proyectos del año pasado pero de este año no realiza la busqueda !!! kiero q aparezcan los proyectos(busqueda) q se dieron de alta el año pasado......... el codigo q tengo en el boton buscar es el siguiente:

Private Sub btn_search_Click()
Dim itx As Object
Dim stringToFind As String
Dim week_no As String
Dim CurDate As String
Dim day, month, resto As String

If (InStr(Format(Now, "Long Time"), "a.m.") <> 0) Or (InStr(Format(Now, "Long Time"), "p.m.") <> 0) Then
resto = TRStartDate
day = Left(resto, InStr(resto, "/") - 1)
resto = Right(resto, Len(resto) - InStr(resto, "/"))
month = Left(resto, InStr(resto, "/") - 1)
resto = Right(resto, Len(resto) - InStr(resto, "/"))
CurDate = month & "/" & day & "/" & resto
Else
CurDate = TRStartDate
End If

Call ClearList

last_op = "search"

list_activitycode.View = lvwReport

If rd_project.Value = True Then
sort_by = "project.name"
Else
sort_by = "activity.name"
End If

' Get Week Information Data
Set rst = New ADODB.Recordset
strSQL = " SELECT id " & _
" FROM week " & _
" WHERE start_date <= '" & CurDate & "' " & _
" AND end_date >= '" & CurDate & "' "
rst.Open strSQL, de_TimeReportDB.cnn_TimeReportDB, adOpenStatic, adLockReadOnly, adCmdText

Do While Not rst.EOF
week_no = rst!id
rst.MoveNext
Loop

' clean up
rst.Close
Set rst = Nothing


stringToFind = Replace(txt_pattern, "*", "%")

' Get Project names and Activity codes
Set rst = New ADODB.Recordset
If stringToFind = "%" Then
strSQL = " SELECT activity.project_id projid, project.name projname, activity.id actid, activity.name actname, activity.description descrip " & _
" FROM activity, project " & _
" WHERE project.id = activity.project_id " & _
" AND project.active = 1 " & _
" AND project.start_week <= '" & week_no & "' " & _
" AND project.end_week >= '" & week_no & "' " & _
" ORDER BY " & sort_by & ", projid, actid "
Else
strSQL = " SELECT activity.project_id projid, project.name projname, activity.id actid, activity.name actname, activity.description descrip " & _
" FROM activity, project " & _
" WHERE project.id = activity.project_id " & _
" AND ((project.name like '" & stringToFind & "') " & _
" OR (activity.name like '" & stringToFind & "')) " & _
" AND project.active = 1 " & _
" AND project.start_week <= '" & week_no & "' " & _
" AND project.end_week >= '" & week_no & "' " & _
" ORDER BY " & sort_by & ", projid, actid "
End If

rst.Open strSQL, de_TimeReportDB.cnn_TimeReportDB, adOpenStatic, adLockReadOnly, adCmdText

list_activitycode.ColumnHeaders.Add , , "ProjId-ActId", list_activitycode.Width / 10
list_activitycode.ColumnHeaders.Add , , "Project Name", (2 * list_activitycode.Width) / 10
list_activitycode.ColumnHeaders.Add , , "Activity Name", (2 * list_activitycode.Width) / 10
list_activitycode.ColumnHeaders.Add , , "Description", (5 * list_activitycode.Width) / 10

Do While Not rst.EOF
Set itx = list_activitycode.ListItems.Add(, , Trim(rst!projId) & "-" & Trim(rst!actId))
itx.SubItems(1) = Trim(rst!projname)
itx.SubItems(2) = Trim(rst!actname)
itx.SubItems(3) = Trim(rst!Descrip)
rst.MoveNext
Loop

'clean up
rst.Close
Set rst = Nothing

End Sub


solo aparecen las columnas marcadas con negro... pero la informacion q busque no aparece....... donde esta esa info?? porque no aparece en el campo.....?


gracias
  #4 (permalink)  
Antiguo 10/01/2008, 11:39
 
Fecha de Ingreso: diciembre-2007
Mensajes: 40
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: problemas al buscar.....

haber yohanna me parece en 1º lujar q estas haciendo mucho lio en vano xq con una simple consulta obias todo ese codigo, pero bueno en fin, ahora no veo que valides el recordset osea,si el recordset "rst" tiene algun resultado por ej:
if rst.recordcount < 1 then
goto sale:
end if
xq alomejor no recogio ningun resultado y te estas volviendo loca en vano
  #5 (permalink)  
Antiguo 11/01/2008, 08:20
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Re: problemas al guardar....

hola, asumo ke tienes datos ingresados en tu base, entonces es como obvio ke el recordset siempre arrojara informacion.... ahora si ne es asi.... mejor revisa los datos de tu base i si efectivamentes tienes proyectos para el 2008,

por otra parte, el problema se te produce cuando cambias el año, entonces yo revisaria las variabes que tienen ke ver con la fecha...

original el metodo de cambiar la fecha ke tienes, lo ke no entendi porke das vuelta el mes y el año solamente cuando el formato de fecha es con "a.m." ó "p.m.", el motor de base de datos siempre trabaja con el formato de fecha como "mm/dd/yyy", independiente de tu formato en el panel de control, asi ke lo mas sano en este caso, es reemplazar el codigo por un simple
CURDATE=format(TRSDATE,"mm/dd/yyyy")

y por ultimo, cuando seleccionas la semana, si tu base de datos es en acces, cuando busques fechas (en campos definidos como fecha), encierralas entre gatos ejemplo :

Get Week Information Data
Set rst = New ADODB.Recordset
strSQL = " SELECT id " & _
" FROM week " & _
" WHERE start_date <= #" & CurDate & "' " & _
" AND end_date >= '" & CurDate & "#
"

espero te sirva, saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:15.