Ajuda VB 6.0

actualizaçao do meu programita....



Desisti do data por duas coisas primeiro dava-me muitos erros, segundo não me deixava correr o ficheiro em acess 2003.
Problemas agora :
• Como faço para que as “sombras” das check box desaparecem e fique apenas o branco habitual?
• Cada doença tem um código e a cada caso novo da doença tenho que introduzir o numero do caso automaticamente como o faço?
(Ex introduzo o primeiro caso de A01 numero de caso vai ser um da próxima vez que voltar a por o A01 quero que ele introduza automaticamente a dizer que e numero dois)

• Como converter de número para texto e o oposto?
 
Última edição:
Completamente off-topic:
Tens excesso de informação para uma página só. Eu tenho o mesmo problema e tenho que dividir em separadores. Acho que deverias olhar um pouco para isso, também. Se eu fosse utilizador "baralhava-me" todo, salvo seja!
Boa sorte com isso! :)
 
Completamente off-topic:
Tens excesso de informação para uma página só. Eu tenho o mesmo problema e tenho que dividir em separadores. Acho que deverias olhar um pouco para isso, também. Se eu fosse utilizador "baralhava-me" todo, salvo seja!
Boa sorte com isso! :)

Não posso alterar muito porque isso já esta predefinido na "ficha" que se preenche com os dados as únicas coisas a mais e as 3 pesquisas...
 
Nova questão: como fazer uma pesquisa dentro de outra sem alterar a anterior.
Tenho uma tabela com três campos: ano da notificação, código da doença e numero de caso.
Preciso de "prender" o ano e depois ir procurar o numero de caso.

Estou a usar a procura pelo Me.Adodc.RecordSource = "SELECT * From (tabela) LIKE (tabela.campo) " & "'" & (variavel da pesquisa) & "%'"
 
Última edição:
Da forma que explicas, parece-me um
"SELECT tabela.ano, tabela.caso FROM tabela WHERE ano=" & ano
ou algo semelhante, não?
 
Da forma que explicas, parece-me um
"SELECT tabela.ano, tabela.caso FROM tabela WHERE ano=" & ano
ou algo semelhante, não?

Não porque o que irei procurar duas coisa diferentes primeira o ano a segunda o código da doença.
Procuro pelo ano de 2008, depois dentro da pesquisa do ano de 2008 irei procurar pelo código da doença e assim saber qual é o número do caso.
Cada ano vai ter um número de doenças que iram ser referenciadas, assim terei que procurar pelo código da doença "x" para saber o número de vezes que ouve um caso da doença "x".
Ou seja teria que ser o were a comparar com duas variáveis mas eu a tentar separa-la pela "," ele dá-me erro.
 
Última edição:
SELECT caso FROM tabela WHERE tabela.ano='<ano>' AND tabela.cod_doenca='<codigo>'?

tentei como disses-te :
d = txt1(0)
p = Me.combo1
Me.Adodc4.RecordSource = "SELECT * From Casos WHERE Casos.Ano_Notificação LIKE " & "'" & d & "%'" And Casos.Codigo_Doença Like " & " '" & p & "%'"
Me.Adodc4.Refresh

diz-me :
run-time error'424'
object required
 
tens que executar um comando SQL : "update table ..."

Isso não vai dar, porque tenho de 40 a 50 campos que terei que guardar sempre novos valores porque a alteração pode ser num qualquer campo e assim sendo vai dar uma linha de código enorme, e também porque ao correr ele da erro nas virgulas diz-me logo expected end of statement

no data ele tinha o botão refresh os códigos dele eram:

Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified
tentei adaptar ao meu adoc mas dá-me erro....
 
Isso não vai dar, porque tenho de 40 a 50 campos que terei que guardar sempre novos valores porque a alteração pode ser num qualquer campo e assim sendo vai dar uma linha de código enorme, e também porque ao correr ele da erro nas virgulas diz-me logo expected end of statement

no data ele tinha o botão refresh os códigos dele eram:

Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified
tentei adaptar ao meu adoc mas dá-me erro....
nao, simplesmente actualizas os valores modificados e assim ficas com um SQL de dimensoes mais reduzidas. Alias, podes criar facilmente uma funcao que te construa o sql de forma dinamica.

se te dá erro nas virgulas, é porque construiste mal a string.

em relação ao codigo que postaste, nao percebi muito bem a tua ideia. Pelo que percebi, estás a usar um objecto Adodc (e nao um adodb), certo?

cumps
 
nao, simplesmente actualizas os valores modificados e assim ficas com um SQL de dimensoes mais reduzidas. Alias, podes criar facilmente uma funcao que te construa o sql de forma dinamica.

se te dá erro nas virgulas, é porque construiste mal a string.

em relação ao codigo que postaste, nao percebi muito bem a tua ideia. Pelo que percebi, estás a usar um objecto Adodc (e nao um adodb), certo?

cumps

sim mas como é que eu sei o que o utilizador alterou?
segundo o código esta bem, pus só assim:
Set Codigo_Doença = txt1
Where Numero_Ordem = txt2(1),a

Cliquei em enter e deu logo esse erro

Pus o data porque era o código que tinha no comando actualizar e é suposto estar certo, e pu-lo aqui para ver se dava talvez para converte-lo de modo a dar com o meu adodc
 
Última edição:
sim mas como é que eu sei o que o utilizador alterou?
tens varios eventos que te permitem controlar isso, por exemplo, o "change".

Ou tens outra forma: (quase)todos os objectos do vb6 têm a propriedade tag.
Por exemplo, tens 32 texbox (:005: ). No load dos dados dessas textbox's, carregas tambem (para alem do value) os dados para a propriedade "tag".
Ao fazeres o Salvar/Gravar/Actualizar dos dados, vais comparar o .text com o .tag de cada objecto. Se estes forem diferentes, gravas apenas os modificados.

e nao precisas de andar a fazer manualmente isto, Crias um caso generico deste tipo:

Código:
for each textbox in frame
  if textbox.text <>textbox.tag then
    sqlstr=sqlstr & campo1 & "=" & textbox.text
  end if
next
é mais ou menos isto ;) deve ter aí uns bugzitos

em relaçao ao adodc nao conheço o objecto suficientemente bem para te ajudar.

cumps
 
no exemplo que dei, julgo que nao. mas acho (acho...) que podes mudar o
Código:
for each textbox in frame
para
Código:
for each object in frame
mas se nao conseguires, mudas o textbox para checbox,ou seja, fazes dois ciclos (um para as txtbox e outro para as check's).

cumps
 
mostra o teu codigo, pf

edit:
esta sub permite apagar o conteudo de todas as textboxes num form. adapta ás tuas necessidade.
Código:
Public Sub ClearTextBoxes(frm As Form) 

For Each Control In frm.Controls
    If TypeOf Control Is TextBox Then
        Control.Text = ""     'Clear all text
    End If       
Next Control

End Sub

'Add this code in the Form window to Call the Sub routine
 
Private Sub Command1_Click()
    Call ClearTextBoxes(Me)
End Sub
 
Última edição:
mostra o teu codigo, pf

edit:
esta sub permite apagar o conteudo de todas as textboxes num form. adapta ás tuas necessidade.
Código:
Public Sub ClearTextBoxes(frm As Form) 

For Each Control In frm.Controls
    If TypeOf Control Is TextBox Then
        Control.Text = ""     'Clear all text
    End If       
Next Control

End Sub

'Add this code in the Form window to Call the Sub routine
 
Private Sub Command1_Click()
    Call ClearTextBoxes(Me)
End Sub

A única coisa ma é que ele “limpa” todas, mas tirando isso funciona bem
obrigado

edit: acho que irei por as text.box adicionadas a um vector, depois corro o sub programa e atribuo os valores do vector as caixas de texto e o utilizador depois muda o que quer, axo que não ira da erro…
 
Última edição:
Back
Topo