2012-02-06 1 views
1

이것은 기본적인 질문 일 수 있습니다. 그러나 나는이 단어를 Google에서 어떻게 사용할지 모릅니다.레코드 앞의 0을 자름

기본적으로이 형식 ("02"000)으로 구성된 기본 키가있는 Access 데이터베이스가 있습니다.

내가 번호를 붙여 시도가 "02"를 무시하고 예를 들어 000

로 바로 간다, 여기에 코드입니다;

PeriodRoomID.Name = ("R" & ds.Tables("sqlSpecRoomRequest").Rows(i).Item(1)) 

PeriodRoomID.Name은 R02001이어야합니다. PeriodRoomID.Name은 (는) R1과 같이 나타납니다.

"02"를 무시하고 0을 무시합니다. 이것은 수학적으로는 의미가 있지만 원하는 것은 아닙니다. 정확한 출력을 얻는 방법이 필요하며 단순화 된 버전이 아닙니다.

쿼리;

SELECT SpecialSoftware.SpecSoftID, SpecialSoftware.RoomID, SpecialSoftwareNames.Description, Rooms.Capacity 
FROM SpecialSoftware, SpecialSoftwareNames, Rooms 
+0

어떤 컬럼의 유형, 어떤 쿼리가 생겼는데? –

+0

데이터 유형을 의미합니까? 그것의 번호. 위 쿼리를 게시합니다. –

+0

숫자 인 경우 어떻게 따옴표를 넣을 수 있습니까? 그건 나에게 매우 이상해 보입니다. –

답변

1

당신은 당신의 응용 프로그램 내부의 수를 포맷 할 수 :

Dim roomID As String = ds.Tables("sqlSpecRoomRequest").Rows(i).Item(1) 
PeriodRoomID.Name = "R02" & roomID.PadLeft(3, "0"c) 
+0

Hey that worked :) PadLeft가하는 일에 대해 설명 할 수는 있지만 Microsoft의 설명은별로 의미가 없으며 Google도 마찬가지입니다. –

+0

PadLeft (3, "0"c)는 필요한 경우 왼쪽에 0을 추가하여 문자열의 길이를 3 자로 만듭니다. –

0

"02"에만 액세스 할 수 있습니까? 쿼리에서 "02"를 무시 했으므로이 정보에 대한 단일 쿼리가 필요합니다.
VB 나 액세스의 전문가는 아니지만 quick'n'dirty 솔루션을 사용할 수있는 것처럼 보입니다. 작성한 키의 형식은 "02"000입니다. 각 숫자 자체를 꺼내 숫자를 확인하고 문자열로 변환하고 누락 된 모든 앞에 0을 채 웁니다. 왜냐하면 최대 숫자를 알고 있기 때문입니다.

전체적인 설명 표시 : 동적 ID 0을 채우고 이름으로 테이블을 참조하여 룸 ID가 R01 또는 R02로 시작하는 경우 if 절로 결정하십시오.

+0

VB에서 모든 번호에 액세스 할 수없는 경우 어떻게 각 번호를 단독으로 가져 옵니까? –

+0

질문 : 두 개의 숫자가 포함 된 두 개의 다른 열이 있습니까? 02는 어디에서 오는 것입니까? 원래 게시물에 관해서는 02보다 더 있어야한다고 들었습니다. 그래서 내 질문이 어디서 결정 했습니까? 모든 방에이 02이 있으면 걱정하지 말고 수동으로 작성하십시오. –

+0

아니요 한 열 아래에 없습니다. 기본 아이디어는 4 개의 테이블이 있으며 각 테이블에는 기본 키가 있습니다. 첫 번째 테이블에는 01로 시작하는 모든 기본 키가 있으며, 두 번째 테이블에는 02, 세 번째 테이블에는 03, 네 번째 테이블에는 04가 있습니다. 그런 식으로 기본 키를 구별 할 수 있습니다. 룸은 두 번째 테이블이므로 모든 룸은 02로 시작합니다. 자동 번호는 마지막 3 개의 숫자 만 변경합니다. 따라서 "02"000이라고 말하면이 마지막 3 000은 자판 번호이지만 모두 02로 시작합니다. –

1

"02"000으로 설정된 형식의 자음 번호 필드가있는 것이 좋습니다. 모든 형식은 Access 사용자에게 해당 형식으로 데이터를 표시합니다. 필드에 02001이 들어 있지 않습니다. 필드에 1이 들어 있습니다. 형식을 다시 만들려면 응용 프로그램에서 다시 작성해야합니다. 자동 번호를 n으로 업데이트하면 ADO 및 ODBC에서는 n으로 표시되지만 Access의 여러 위치에서 0200n으로 표시됩니다. 형식은 Access의 쿼리와 관련이 없습니다. 나는 테이블 형식이 좋은 생각이라고 생각하지 않습니다.

+0

내 대답을 다시 읽으면 쿼리와 관련된 정보 즉, 형식이 쿼리와 관련이 없음을 알 수 있습니다. – Fionnuala