제가 만들고 있는 프로그램은 회사에서 쓰는 기술자료의 리비전을 관리하는 프로그램을 설계중에 있습니다.
우리 회사의 경우, 리비전이 NEW, A, B, ........., Z까지 순차적으로 증가합니다.
그래서 아래의 그림과 같이 일련번호랑 스테이지를 적으면 프로그램을 자동 조회하여 NEW가 있으면 A로,
A가 있으면 REV 화면에 자동으로 B를 나오게 하는 걸 지금 구상중에 있에 있습니다.
 
문제는 NEW가 있어서 쿼리를 하는데, 자꾸 문제가 발생하네요. A~Z까지는 증가 시킬 수 있는데, NEW가 있어서인지, 자꾸 NEW, A가 있더라도 O라는 파일이 자동으로 됩니다.
 
어떻게 해결해야 할까요 ㅠ 쿼리에서 NEW를 안나오게 하는 방법도 해 봤습니다. 근데 이럴 경우에는 과거 데이터의 경우에는 NEW, A, N, O 등 순차적으로 안 들어간 자료가 많아서요, 이것도 고려해서 프로그램을 코딩해야해서요 .
 
고수분들 도와주세요,
 

  Query = "SELECT " _
                & " CASE " _
                & "  WHEN E600REV = 'NEW' THEN '' " _
                & "  WHEN E600REV <> 'NEW' THEN MAX(E600REV) " _
                & " End " _
                & " FROM HE600 " _
                & " WHERE E600DOC_TYPE = 'CMM' " _
                & " AND E600NO = '" & LTrim(RTrim(TextBox8.Text)) & "' " _
                & " AND E600STAG = '" & LTrim(RTrim(TextBox9.Text)) & "' "
 
Query =  "SELECT " _
               MAX(E600REV) "
                FROM HE600 " _
                WHERE E600DOC_TYPE = 'CMM' " _
                AND E600NO = '" & LTrim(RTrim(TextBox8.Text)) & "' " _
                AND E600STAG = '" & LTrim(RTrim(TextBox9.Text)) & "' "
        SQuery = "Password = hpms_user;" _
                    & "User ID=hpms; " _
                    & "Data source=oldserver;" _
                    & "Initial Catalog = HAS기술자료_A"
        SQLCo = New SqlConnection(SQuery)
        SQLCo.Open()
        SQLDA = New SqlDataAdapter(Query, SQLCo)
        SQLDA.Fill(SQLDS, "NC장비")
        SQLDV = New DataView(SQLDS.Tables("NC장비"))
        SQLCo.Close()
        For i As Integer = 0 To SQLDV.Count - 1
            If SQLDV.Count = 0 Or IsDBNull(SQLDV.Item(i).Item(0)) Then
                REV = "NEW"
            Else
                If Asc(SQLDV.Item(i).Item(0).ToString) = 90 Then
                    MsgBox("현재 리비전이 'Z'입니다. 더이상 리비전을 추가할수 없습니다.")
                    GoTo Out
                Else
                    For asc_num = 65 To 89
                        If Asc(SQLDV.Item(i).Item(0).ToString) = asc_num Then
                            REV = Chr(asc_num + 1)
                            GoTo out
                        End If
                    Next
                End If
            End If
        Next
out:
        TextBox7.Text = REV
No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 15658
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 9530
7778 SQL 초보가 질문 드립니다! [3] 상백이 2014.04.11 2560
7777 mssql 2008->2000 데이터베이스 이전 문제 [1] 말포2 2014.04.10 3370
7776 SQL 복구 관련 해서 문의 글씁니다. [1] 아는게없어 2014.04.10 2970
» 안녕하십니까, 쿼리질문입니다. ^^ [2] 차차리아카 2014.04.10 2837
7774 초단위로 같은 쿼리가 실행되서 데이터가 여러번 갱신되는 것을 막는 방법은 없을까요? [1] 사이드사이드 2014.04.09 3654
7773 Fullbackup 시에 백업 파일을 용량 줄일 수 있는 방법이 있나요? [1] 나는짱이야 2014.04.09 3322
7772 생년월일로 만나이 구하기 [3] 흑흑 2014.04.09 9717
7771 약 5만여개 데이터 update? [4] 송토리 2014.04.09 3459
7770 혹시 시간 반올림 하는 함수가 있을까요?? [3] alima 2014.04.09 8565
7769 sql 엑셀파일 읽어오기 오류. sungjae 2014.04.09 7088
7768 sql server management studio 툴 질문입니다 comment 관련 [1] 지환아빠 2014.04.09 4970
7767 쿼리문에서 out of memory 에러 문의 드립니다. 희망나라 2014.04.09 4196
7766 MS-SQL 날짜 계산과 국세청 (엑셀) 날짜 계산 어떻게 맞춰야 하나요? ㅠㅠ [2] 부르스 2014.04.08 6375
7765 쿼리 문의드립니다 [4] minblue1004 2014.04.08 4150
7764 MSSQL 2008 미러링 구성 문의 좀 드리겠습니다. [1] 쿠쿠82 2014.04.08 5532
7763 MySQL 하나만 질문드릴게요 마에스트로 2014.04.08 2999
7762 sql 2005 오류 해결 해주실분 비용 드립니다. [3] 거시기 2014.04.07 5905
7761 Linked server의 모든 테이블을 타겟 DB로 모두 복사하는 방법 [2] 디비디비 2014.04.07 3272
7760 Job Agent 의 CPUTime 증가. 하지만 IO는 0 [1] 최강문일 2014.04.07 3309
7759 환율이 char형인데, 숫자형으로 바꾸고싶습니다 [2] 바보 2014.04.07 3561





XE Login