Como devolver tabela depois de selecionar 1ª tabela?

rubenmsoares

Power Member
Boas pessoal,

Uma questão, tenho um comando pesquisa por nif:

strSQL = "SELECT * FROM sfid_nif,cliente,contagsm1 WHERE sfid_nif.fidnif=@fidnif AND fidsfid=@fidsfid AND nif=@nif AND contagsm1.fidnif=@fidnif"

caso o nif exista nas tabelas indicadas será devolvido os valores para as text pretendidas.

Contudo é perfeitamente possível existir um nif, que não se encontra na tabela contagsm1 (isto porque é um cliente existente em ficha mas ainda não tem conta criada)

E se eu pesquisar por um nif que não esta na contagsm1, a pesquisa indica que o nif não existe, como é que se contorna esta solução?

Com if? A onde?
 
Última edição:
O que eu tenho:

Protected Sub pesquisa_nif_botao_Click(sender As Object, e As EventArgs) Handles pesquisa_nif_botao.Click


strConnection = ConnectionStrings("GESCOMERCIALConnectionString").ConnectionString


dbConn = New SqlClient.SqlConnection(strConnection)
dbConn.Open()


strSQL = "SELECT * FROM sfid_nif,cliente WHERE sfid_nif.fidnif=@fidnif AND fidsfid=@fidsfid AND nif=@nif"


dCmd = New SqlCommand(strSQL, dbConn)
dCmd.Parameters.Add(New SqlParameter("fidnif", pesquisanifbox.Text))
dCmd.Parameters.Add(New SqlParameter("fidsfid", Label1.Text))
dCmd.Parameters.Add(New SqlParameter("nif", pesquisanifbox.Text))


Dim rs As SqlDataReader = dCmd.ExecuteReader


If rs.Read() Then
'existem valores??


pesquisanifbox.Text = ""


nifbox.Text = rs("nif")
nomebox.Text = rs("nome")
moradabox.Text = rs("morada")
localidadebox.Text = rs("localidade")


nifbox.Enabled = True
nifbox.BackColor = Drawing.Color.LightBlue
nomebox.Enabled = True
nomebox.BackColor = Drawing.Color.LightBlue
datacontatobox.Enabled = True
datacontatobox.BackColor = Drawing.Color.LightBlue
moradabox.Enabled = True
moradabox.BackColor = Drawing.Color.LightBlue
localidadebox.Enabled = True
localidadebox.BackColor = Drawing.Color.LightBlue
codigopostalbox.Enabled = True
codigopostalbox.BackColor = Drawing.Color.LightBlue
contatosbox.Enabled = True
contatosbox.BackColor = Drawing.Color.LightBlue
responsavelbox.Enabled = True
responsavelbox.BackColor = Drawing.Color.LightBlue
cliente_gravarbotao.Enabled = False
cliente_atualizarbotao.Enabled = True
fidelizacao_novobotao.Enabled = True
fidelizacao2_novobotao.Enabled = True




Else
'não existem valores
Label8.Text = "Não existe o Nif indicado"
pesquisanifbox.Text = ""
nifbox.Text = ("")
nomebox.Text = ("")
moradabox.Text = ("")
localidadebox.Text = ("")
End If
End If
dbConn.Close()


End Sub

Quero que depois de executar o 1º select e caso exista valor ele execute o segundo select

strSQL = "SELECT * FROM detalhe_fid_gsm1 WHERE detalhe_fid_gsm1.fidnif=@fidnif"

e caso exista valor neste select devolva o valor - contagsm1box.Text = rs("n_conta") caso não exista que devolva 0
 
Back
Topo