private void ConsultaHistoricoControlo() {
        int linha = jTableConsultarControlos.getSelectedRow();
        int idFuncionario;
        int contaLinhas = 0;
        //DADOS DE PESQUISA
        String nomeFunc = (String) jTableConsultarControlos.getValueAt(linha, 0);
        idFuncionario = selectId("FUNCIONARIO", "NOME", nomeFunc, "IDFUNCIONARIO");
        String seccao = (String) jTableConsultarControlos.getValueAt(linha, 1);
        String data = (String) jTableConsultarControlos.getValueAt(linha, 2);
        String resultado = "C";
        String nomeTabela = "CONTROLORESULTADOS";
        String nomeTabela2 = "NAOCONFORMIDADES";

        int idControloResultado = 0;
        int idPesquisa = 0;

        String ocorrencia = "";
        String medidaCorrectiva = "";
        int idfuncionarioRegistou = 0;
        String funcionarioRegistou = "";
        String Observacao = "";
        String dataOcorrencia = "";
        //SABER O ID DO CONTROLO

        //SABER A SECÇÃO QUE ESCOLHEMOS
        String comboPesquisa = jComboBoxSeccao.getSelectedItem().toString();
        String nomeColuna = "";

        if (comboPesquisa.equals("ENTRADA")) {
            nomeColuna = "IDENTRADA";
            idPesquisa = selectId("ENTRADA", "LOTEORIGEM", seccao, "IDENTRADA");

        } else if (comboPesquisa.equals("EQUIPAMENTO")) {
            nomeColuna = "IDEQUIPAMENTO";
            idPesquisa = selectId("EQUIPAMENTO", "NOME", seccao, "IDEQUIPAMENTO");

        } else if (comboPesquisa.equals("INSECTOCACADORES")) {
            nomeColuna = "IDINSECTOCACADORES";
            idPesquisa = selectId("INSECTOCACADORES", "NOME", seccao, "IDINSECTOCACADORES");

        } else if (comboPesquisa.equals("OUTROS")) {
            nomeColuna = "OUTROS";

        }

        try {
            Class.forName("org.apache.derby.jdbc.ClientDriver");
        } catch (ClassNotFoundException e) {
            System.err.print("ClassNotFoundException: ");
            System.err.println(e.getMessage());
            System.out.println("O driver expecificado nao foi encontrado.");
        }
        try {

            con = DriverManager.getConnection(url);

            //String sql = "SELECT * FROM "+nomeTabela + " WHERE IDFUNCIONARIO='"+idFuncionario+ "' AND "+nomeColuna+"='"+seccao+"' AND DATA='"+data+"' AND RESULTADO='"+resultado+"'";
            String sql = "SELECT * FROM " + nomeTabela + " WHERE IDFUNCIONARIO=" + idFuncionario + " AND " + nomeColuna + "=" + idPesquisa + " AND RESULTADO='" + resultado + "'";
            PreparedStatement st = (PreparedStatement) con.prepareStatement(sql);
            ResultSet rs = st.executeQuery();

            while (rs.next()) {
                //idControloResultado =  rs.getInt("IDCONTRESULTADOS");  
                idControloResultadoHistorico = rs.getInt("IDCONTRESULTADOS");
            }

            st.close();
            con.close();
        } catch (SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
        }

        //PROCURAR NA TABELA NAO CONFORMIDADES
        model = (DefaultTableModel) jTableVerHistorico.getModel();
        try {

            con = DriverManager.getConnection(url);

            String sql = "SELECT * FROM " + nomeTabela2 + " WHERE IDCONTRESULTADOS=" + idControloResultadoHistorico + " AND CORRECTIVA='S'";
            PreparedStatement st = (PreparedStatement) con.prepareStatement(sql);
            ResultSet rs = st.executeQuery();

            while (rs.next()) {
                //CAMPOS A LER
                idfuncionarioRegistou = rs.getInt("IDFUNCIONARIOMEDIDACORRECTIVA");
                funcionarioRegistou = selectString("FUNCIONARIO", "IDFUNCIONARIO", idfuncionarioRegistou, "NOME");
                dataOcorrencia = rs.getString("DATANAOCONFORMIDADE");
                ocorrencia = rs.getString("OCORRENCIA");
                medidaCorrectiva = rs.getString("MEDIDACORRECTIVA");
                Observacao = rs.getString("OBSERVACAOMEDIDACORRECTIVA");

                contaLinhas++;
                model.addRow(new Object[]{contaLinhas, funcionarioRegistou, dataOcorrencia, ocorrencia, medidaCorrectiva, Observacao});
                //ESCREVER NA TABELA
                System.out.println("ID CONTROLO -> " + idControloResultadoHistorico);
                System.out.println("\n" + contaLinhas);
                System.out.println(" " + ocorrencia);
                System.out.println(" " + medidaCorrectiva);
                System.out.println(" " + idfuncionarioRegistou);
                System.out.println(" " + funcionarioRegistou);
                System.out.println(" " + Observacao);
            }

            st.close();
            con.close();
        } catch (SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
        }

        if (contaLinhas == 0) {
            System.out.println("ZERO ZERO");
            JOptionPane.showMessageDialog(jDialogVerHistoricoControlo, "Controlo Não Contem Historico!");
        } else {
            jDialogVerHistoricoControlo.setLocationRelativeTo(this);
            jDialogVerHistoricoControlo.setVisible(true);
        }

        //ESCREVER 
//        System.out.println("SELECT * FROM "+nomeTabela + " WHERE IDFUNCIONARIO="+idFuncionario+" AND "+nomeColuna+"="+idPesquisa);
//        System.out.println("ID CONTROLO : " + idControloResultado);
//        System.out.println("ID FUNCIONARIO: " + idFuncionario);
    }