개발 도구와 언어 공부/Ms Access, VBA 18

배열, 레코드셋 이용해서 테이블 필드추가하기 VBA

안녕하세요. 코드 메모 입니다. 필요하신 분은 보시고 응용해보세요. (경어 신경쓰지 않고 봐주세요. 저를 위해서 편하게 작성합니다.) 오늘 메모할 내용은 프로그램 사용중에 미래에 나올 내용에 대해서 자동적으로 필드를 추가하는 간단한(?) 내용임. Q. 매출 테이블은 지속적으로 작성하기에 날짜는 계속 증가되고, 미리 작성한 통계 테이블은 어느 순간 다음해의 필드가 필요해지는 상황이 발생함. (상단 그림은 '대략의 매출 테이블이 있다' 정도로 이해해주시고, 하단 그림은 작년에 만들었다면 23년까지 필드가 있을텐데, 한 해가 지나서 24년 이되면 2024 필드가 필요하는 얘기임) 폼에 버튼을 만들고 클릭이벤트를 넣어서 한번에 되게끔 이어 갈겁니다. * 클릭이벤트에 여러가지 프로시저를 순차적으로 진행하는 형식으..

선언 관련 메모 form, subform

Dim Frm as form Dim Ctl as control Dim SFrm as subform Parent & Child 구조로 되어 있는 긴 레퍼런스를 줄일 때 가령 아래와 같은 폼구조에서 Forms!A000프로그램틀!CHILD_menu.Childsub.Form.접속자Label.Caption 컨트롤을 제외한 Forms!A000프로그램틀!CHILD_menu.Childsub.Form 까지 줄이고 싶다면, --// 일반적인 프로시저에서는 private sub xxx() Dim Frm as form Frm = Forms!A000프로그램틀!CHILD_menu.Childsub.Form debug.print Frm.접속자label.caption End sub --// public function으로 사용할 때는..

VBA 연속폼 선택줄 하이라이트 효과

https://www.youtube.com/watch?v=ggZGms3RxMs 연속폼상에서 선택한 줄이 어떤 줄인지 보여주는 효과 입니다. 일반적으로 연속폼(continuous form)에서는 조건부 서식(conditional formatting)을 사용해서 서식을 특정짓는데, 이놈으로 서식을 지정하면~ 연속폼상에서는 Coloumn 전체가 동일하게 적용되지요. ​ ​ ​ 제가 하려고 하는건, 연속폼상에서 데이터를 선택했을때, 1) 어떤 ROW인지 그 정보를 눈에 잘 보여주는것 2) 부가적으로 그 정보를 어떻게 가져올 것인가? 입니다. ​ 정보 가져와서 사용하는 방법은 다양하니... 1)에 포커스를 맞추고 시작하겠습니다. ​ 간단하게 작성가능하니 파일 업로드는 스킵할거에요~ 대신 만드실 수 있게 글을 써볼..

세금계산서용 엑셀파일 작성시 생각 할 소소한 것들과 코드

1. 월별 일괄 발행되는 폼입니다. 2. 최종에는 엑셀파일로 출력이 됩니다. 3. 버튼 하나로 모을 수 있지만, 실수 방지를 위해서 단계별로 차근히 보면서 진행하게끔 만들어 놨습니다. 4. 엑세스 VBA창에 붙여 사용가능하게 코드를 올렸습니다. 대략 월 검색을 하면 해당 발행 대상이 되는 모든 건이 출력이 됩니다. 리스트의 두번째 필드는 업체코드 부분인데, 겹치는 부분들이 있습니다. 이제 업체별로 합쳐줄 겁니다. 마우스로 덧칠하는건 고역이기 때문에 그림을 잘랐습니다. 버튼 하나를 클릭하면 업체별로 합계가 나타납니다. *우측 상단의 변환준비(1) 버튼" 이제 엑셀변환(2) 버튼을 누르면 파일이 만들어지고, 폴더가 열립니다. 이 파일 그대로 홈텍스의 여러건 발행하는 부분에 첨부해서 보내기면하면 세금계산서 발..

MS ACCESS control type list #컨트롤 타입 #엑세스

https://docs.microsoft.com/en-us/office/vba/api/access.accontroltype AcControlType enumeration (Access) Office VBA reference topic docs.microsoft.com AcControlType enumeration (Access) Article 02/08/2022 2 minutes to read 6 contributors Specifies the type of control created by the CreateControl and CreateReportControl methods. NameValueDescription acAttachment 126 Attachment control acBoundObjec..

엑세스(VBA)로 국내주식, 해외주식, 코인 현재가, 등락율 가져오기

안녕하세요. VBA로 크롤링이나 파싱을 여러가지 방법으로 하는데, 오늘은 방법을 알려드리는게 아니고, 코드 공개 위주로 하겠습니다. 원리까지 설명하자면 시간이 좀 길어질것 같군요. 올려드리는 코드 전문을 보시고 수정해서 사용하셔도 좋을듯 합니다. 폼은 이렇게 생겼습니다. 하단 동그라미 종목코드 부분에 코드를 넣고 현재가 버튼을 누르면 가격정보와 등락이 나옵니다. 우선 "VB 에디터 참조" 찾다가 한세월이니 레퍼런스를 보여드리겠습니다. 우선 참조 목록에 있는 모든 걸 참조하세요. 저도 이게 다 필요한지는 모르겠지만, 하다 보니 이렇게 되더군요. 수정하면서 참조를 풀지 않은 것도 있을 수 있습니다. 전 인간이니까요 ㅎㅎ ^__^ 가장 중요한 현재가 버튼의 코드를 아래와 같이 공개합니다. Private Sub..

VBA module 닫기 코드

엑세스를 사용하다 보면 MS VBA창 닫는 습관이 안들어서, 프로그램이 느려지는 현상이 있습니다. 프로그램을 실행하다가 보면 늘어지는 느낌입니다. 자동으로 VBA module 창을 닫는 코드입니다. Public Sub CloseModules() Dim i As Integer Dim mAll As Modules Set mAll = Application.Modules For i = mAll.Count - 1 To 0 Step -1 DoCmd.Close acModule, mAll(i).Name, acSaveYes Next i End Sub 프로그램을 닫고 열때마다 상쾌한 기분으로 진행가능합니다.,