PLease help: How to Keep allocated memory in RAM without Paging?

Generally, I wil use new operator to allocate memory.
For example:
//CData is a C++ Class Object
CData* pObject =  new CData;

But if I want to keep the pObject in memory withour paging, what should I do
? It is because I want to keep all my allocated data in memory only.

-- 
Regards,

Anthony Lam


0
anthony (9)
11/20/2003 6:45:21 AM
vc.mfc 33608 articles. 0 followers. Follow

10 Replies
676 Views

Similar Articles

[PageSpeed] 41

AA wrote:
 > Generally, I wil use new operator to allocate memory. For example:
 > //CData is a C++ Class Object CData* pObject =  new CData;
 >
 > But if I want to keep the pObject in memory withour paging, what
 > should I do ? It is because I want to keep all my allocated data in
 > memory only.

If you actually want to hide your data then only solution is a driver.
Anything else is just wasting time. Keeping data in memory only (w/o 
driver) is good only for performance.

0
mac1 (347)
11/20/2003 9:39:36 AM
If you allocate memory, you get memory. Why should you care in the slightest where it is?
"Locking" data into physical memory is all-but-impossible, and is certainly largely
meaningless. Why does the paging issue matter?

If you don't mind writing a device driver, you can map nonpaged pool into user address
space, although this is so exotic that it hardly has any use (we know of only one useful
application of this technique). You can download the code for this driver from
www.eclectic-eng.com.  Note that you will NOT be able to use 'new' unless you also write
your own fundamental allocator to allocate from this special pool; the standard 'new'
can't do it, since it uses the heap.

To be more practical, instead of asking a question that has almost no meaning in user
space, and requires a very exotic device driver to implement at all, how about explaining
the problem you think you are trying to solve. We might have a chance of solving your
problem (or telling you it is a non-problem). Paging CAN be a serious performance problem,
but you have to redesign your program to deal with it; you can't "lock" data into memory
in any straightforward way.

By the way, anyone who tells you VirtualLock will solve this is flat-out WRONG and can be
ignored. It will only waste your time and not solve anything of interest to you.
					joe

On Thu, 20 Nov 2003 14:45:21 +0800, "AA" <anthony@jadeflex.com> wrote:

>Generally, I wil use new operator to allocate memory.
>For example:
>//CData is a C++ Class Object
>CData* pObject =  new CData;
>
>But if I want to keep the pObject in memory withour paging, what should I do
>? It is because I want to keep all my allocated data in memory only.

Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
0
newcomer (15975)
11/20/2003 12:03:39 PM
>On Thu, 20 Nov 2003 14:45:21 +0800, "AA" <anthony@jadeflex.com> wrote:
>
>>But if I want to keep the pObject in memory withour paging, what should I do
>>? It is because I want to keep all my allocated data in memory only.

In message <lsaprvk4s1epahhli18i44fp87gn72oc2t@4ax.com>, Joseph M.
Newcomer <newcomer@flounder.com> writes
>By the way, anyone who tells you VirtualLock will solve this is flat-out
>WRONG and can be
>ignored. It will only waste your time and not solve anything of interest to
>you.

I agree with your comments that the OP probably doesn't want to do this
(its not a good idea for performance reasons explained in the MSDN
documentation I quote below). However your statement is very blatant and
you give no explanation.

Care to explain why that answer is flat-out WRONG? It is counter to the
MSDN documentation (quoted below) and also counter to my understanding
of the Windows 2000 internals written by Mark Russinovitch and David
Solomon.

From MSDN (edited to remove some paragraphs not relevant)

VirtualLock
The VirtualLock function locks the specified region of the process's virtual address
space into physical memory, ensuring that subsequent access to the
region will not incur a page fault.

        The above states that Virtual Lock will indeed prevent the page
        from being paged. Of course the VC++ memory allocator may also
        be tinkering with the page protections and possibly the lock
status
        (I haven't checked so I don't know) - if it is then using
VirtualLock
        may well be not very useful.

Remarks
All pages in the specified region must be committed.
Memory protected with PAGE_NOACCESS cannot be locked.

Locking pages into memory may degrade the performance of the system by reducing the
available RAM and forcing the system to swap out other critical
pages to the paging file.

        The above indicates this isn't generally a good idea.

By default, a process can lock a maximum of 30 pages. The default limit
is intentionally small to avoid severe performance degradation. Applications
that need to lock larger numbers of pages must first call the
SetProcessWorkingSetSize function to increase their minimum
and maximum working set sizes. The maximum number of
pages that a process can lock is equal to the number of pages
in its minimum working set minus a small overhead.

        The above indicates you have some work to do if you want more
        than 30 pages locked.

Pages that a process has locked remain in physical memory
until the process unlocks them or terminates.

To unlock a region of locked pages, use the VirtualUnlock function.
Locked pages are automatically unlocked when the process terminates.

Windows 95/98: The VirtualLock function is implemented as a
stub that has no effect and always returns a nonzero value.

        Finally, it doesn't work on Windows 9x.

Stephen
-- 
Stephen Kellett
Object Media Limited    http://www.objmedia.demon.co.uk
RSI Information:        http://www.objmedia.demon.co.uk/rsi.html
0
snail (185)
11/20/2003 1:45:40 PM
VirtualLock doesn't actually lock the page in the memory. The page is locked
into working set, so it never (almost) gets paged. It can be moved in
physical memory, transparently for the app. When the application gets
minimized, DefWndProc may force all working set purged, including all
VirtualLock'ed pages. The same may happen when under XP the session is
disconnected from the console.

"Stephen Kellett" <snail@objmedia.demon.co.uk> wrote in message
news:OjTxPSJEWMv$Ew$Y@objmedia.demon.co.uk...
> >On Thu, 20 Nov 2003 14:45:21 +0800, "AA" <anthony@jadeflex.com> wrote:
> >
> >>But if I want to keep the pObject in memory withour paging, what should
I do
> >>? It is because I want to keep all my allocated data in memory only.
>
> In message <lsaprvk4s1epahhli18i44fp87gn72oc2t@4ax.com>, Joseph M.
> Newcomer <newcomer@flounder.com> writes
> >By the way, anyone who tells you VirtualLock will solve this is flat-out
> >WRONG and can be
> >ignored. It will only waste your time and not solve anything of interest
to
> >you.
>
> I agree with your comments that the OP probably doesn't want to do this
> (its not a good idea for performance reasons explained in the MSDN
> documentation I quote below). However your statement is very blatant and
> you give no explanation.
>
> Care to explain why that answer is flat-out WRONG? It is counter to the
> MSDN documentation (quoted below) and also counter to my understanding
> of the Windows 2000 internals written by Mark Russinovitch and David
> Solomon.
>
> From MSDN (edited to remove some paragraphs not relevant)
>
> VirtualLock
> The VirtualLock function locks the specified region of the process's
virtual address
> space into physical memory, ensuring that subsequent access to the
> region will not incur a page fault.
>
>         The above states that Virtual Lock will indeed prevent the page
>         from being paged. Of course the VC++ memory allocator may also
>         be tinkering with the page protections and possibly the lock
> status
>         (I haven't checked so I don't know) - if it is then using
> VirtualLock
>         may well be not very useful.
>
> Remarks
> All pages in the specified region must be committed.
> Memory protected with PAGE_NOACCESS cannot be locked.
>
> Locking pages into memory may degrade the performance of the system by
reducing the
> available RAM and forcing the system to swap out other critical
> pages to the paging file.
>
>         The above indicates this isn't generally a good idea.
>
> By default, a process can lock a maximum of 30 pages. The default limit
> is intentionally small to avoid severe performance degradation.
Applications
> that need to lock larger numbers of pages must first call the
> SetProcessWorkingSetSize function to increase their minimum
> and maximum working set sizes. The maximum number of
> pages that a process can lock is equal to the number of pages
> in its minimum working set minus a small overhead.
>
>         The above indicates you have some work to do if you want more
>         than 30 pages locked.
>
> Pages that a process has locked remain in physical memory
> until the process unlocks them or terminates.
>
> To unlock a region of locked pages, use the VirtualUnlock function.
> Locked pages are automatically unlocked when the process terminates.
>
> Windows 95/98: The VirtualLock function is implemented as a
> stub that has no effect and always returns a nonzero value.
>
>         Finally, it doesn't work on Windows 9x.
>
> Stephen
> -- 
> Stephen Kellett
> Object Media Limited    http://www.objmedia.demon.co.uk
> RSI Information:        http://www.objmedia.demon.co.uk/rsi.html


0
alegr (1131)
11/20/2003 9:10:56 PM
In message <O1nVMr6rDHA.2456@TK2MSFTNGP12.phx.gbl>, Alexander Grigoriev 
<alegr@earthlink.net> writes
>VirtualLock doesn't actually lock the page in the memory. The page is locked
>into working set, so it never (almost) gets paged. It can be moved in
>physical memory, transparently for the app.

What would be the purpose or point of moving the page in physical memory 
(I assume the kernel PTE will still associate the same virtual address)? 
This seems like it would just waste processor time. Surely it only gets 
moved if it actually gets paged out and back in (which the documentation 
states will not happen)?

>When the application gets
>minimized, DefWndProc may force all working set purged, including all
>VirtualLock'ed pages. The same may happen when under XP the session is
>disconnected from the console.

Is this documented somewhere?

Thanks for your input. I'd still like a response from Joseph as he made 
the original flat-out WRONG comment.

For those that are interested, I don't have a view on this apart from 
wanting to know why such a strong "WRONG" statement is voiced without 
any reasoning to explain it when it is counter to the documentation and 
Microsoft published book I have already mentioned.

I was thinking about this issue some more: Certain parts of the kernel 
are protected from being paged (if you get a page fault whilst handling 
a page fault you get a blue screen) to protect from blue screens - for 
example the page fault handler code can't be paged. This means the 
kernel can prevent any page of memory from being paged. Given that 
VirtualLock calls into kernel to set bit patterns in PTEs or similar it 
doesn't surprise me that VirtualLock should be able to mark stuff as 
"unpagable". It also doesn't surprise me that the desktop manager 
couldn't override this with its own calls to VirtualUnlock when an 
application is minized as Alexander describes above.

Stephen
-- 
Stephen Kellett
Object Media Limited    http://www.objmedia.demon.co.uk
RSI Information:        http://www.objmedia.demon.co.uk/rsi.html
0
snail (185)
11/21/2003 12:52:12 AM
Stephen Kellett wrote:
> Is this documented somewhere?
> 
> Thanks for your input. I'd still like a response from Joseph as he made 
> the original flat-out WRONG comment.
> 
> For those that are interested, I don't have a view on this apart from 
> wanting to know why such a strong "WRONG" statement is voiced without 
> any reasoning to explain it when it is counter to the documentation and 
> Microsoft published book I have already mentioned.

It is documented.  From KB article Q94996:

"VirtualLock() causes pages to be locked into an application's working 
set (virtual memory); it does not lock them absolutely into physical 
memory. VirtualLock() essentially means "this page is always part of the 
process's working set."   The system is free to swap out any virtually 
locked pages if it swaps out the whole process.


-- 
Scott McPhillips [VC++ MVP]

0
scottmcp1 (239)
11/21/2003 1:56:06 AM
The page may be moved if its physical page is needed for someone's
contiguous physical memory allocation.

"Stephen Kellett" <snail@objmedia.demon.co.uk> wrote in message
news:17t$p9D8GWv$EwYW@objmedia.demon.co.uk...
> In message <O1nVMr6rDHA.2456@TK2MSFTNGP12.phx.gbl>, Alexander Grigoriev
> <alegr@earthlink.net> writes
> >VirtualLock doesn't actually lock the page in the memory. The page is
locked
> >into working set, so it never (almost) gets paged. It can be moved in
> >physical memory, transparently for the app.
>
> What would be the purpose or point of moving the page in physical memory
> (I assume the kernel PTE will still associate the same virtual address)?
> This seems like it would just waste processor time. Surely it only gets
> moved if it actually gets paged out and back in (which the documentation
> states will not happen)?
>


0
alegr (1131)
11/21/2003 3:32:20 AM
Yes. See below.
On Thu, 20 Nov 2003 13:45:40 +0000, Stephen Kellett <snail@objmedia.demon.co.uk> wrote:

>>On Thu, 20 Nov 2003 14:45:21 +0800, "AA" <anthony@jadeflex.com> wrote:
>>
>>>But if I want to keep the pObject in memory withour paging, what should I do
>>>? It is because I want to keep all my allocated data in memory only.
>
>In message <lsaprvk4s1epahhli18i44fp87gn72oc2t@4ax.com>, Joseph M.
>Newcomer <newcomer@flounder.com> writes
>>By the way, anyone who tells you VirtualLock will solve this is flat-out
>>WRONG and can be
>>ignored. It will only waste your time and not solve anything of interest to
>>you.
>
>I agree with your comments that the OP probably doesn't want to do this
>(its not a good idea for performance reasons explained in the MSDN
>documentation I quote below). However your statement is very blatant and
>you give no explanation.
>
>Care to explain why that answer is flat-out WRONG? It is counter to the
>MSDN documentation (quoted below) and also counter to my understanding
>of the Windows 2000 internals written by Mark Russinovitch and David
>Solomon.
****
KB article Q94996. R&S seem to base their information on the documentation, which as the
KB article points out, is wrong.
****
>
>From MSDN (edited to remove some paragraphs not relevant)
>
>VirtualLock
>The VirtualLock function locks the specified region of the process's virtual address
>space into physical memory, ensuring that subsequent access to the
>region will not incur a page fault.
>
>        The above states that Virtual Lock will indeed prevent the page
>        from being paged. Of course the VC++ memory allocator may also
>        be tinkering with the page protections and possibly the lock
>status
>        (I haven't checked so I don't know) - if it is then using
>VirtualLock
>        may well be not very useful.
>
>Remarks
>All pages in the specified region must be committed.
>Memory protected with PAGE_NOACCESS cannot be locked.
>
>Locking pages into memory may degrade the performance of the system by reducing the
>available RAM and forcing the system to swap out other critical
>pages to the paging file.
>
>        The above indicates this isn't generally a good idea.
>
>By default, a process can lock a maximum of 30 pages. The default limit
>is intentionally small to avoid severe performance degradation. Applications
>that need to lock larger numbers of pages must first call the
>SetProcessWorkingSetSize function to increase their minimum
>and maximum working set sizes. The maximum number of
>pages that a process can lock is equal to the number of pages
>in its minimum working set minus a small overhead.
>
>        The above indicates you have some work to do if you want more
>        than 30 pages locked.
>
>Pages that a process has locked remain in physical memory
>until the process unlocks them or terminates.
>
>To unlock a region of locked pages, use the VirtualUnlock function.
>Locked pages are automatically unlocked when the process terminates.
>
>Windows 95/98: The VirtualLock function is implemented as a
>stub that has no effect and always returns a nonzero value.
>
>        Finally, it doesn't work on Windows 9x.
>
>Stephen

Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
0
newcomer (15975)
11/21/2003 9:54:40 AM
Just one thing: it is not that it can "never" be paged out; the whole app can be paged out
Even that one page can be paged out, but then the app won't be scheduled until its entire
working set is back in memory. 
					joe

On Thu, 20 Nov 2003 13:10:56 -0800, "Alexander Grigoriev" <alegr@earthlink.net> wrote:

>VirtualLock doesn't actually lock the page in the memory. The page is locked
>into working set, so it never (almost) gets paged. It can be moved in
>physical memory, transparently for the app. When the application gets
>minimized, DefWndProc may force all working set purged, including all
>VirtualLock'ed pages. The same may happen when under XP the session is
>disconnected from the console.
>
>"Stephen Kellett" <snail@objmedia.demon.co.uk> wrote in message
>news:OjTxPSJEWMv$Ew$Y@objmedia.demon.co.uk...
>> >On Thu, 20 Nov 2003 14:45:21 +0800, "AA" <anthony@jadeflex.com> wrote:
>> >
>> >>But if I want to keep the pObject in memory withour paging, what should
>I do
>> >>? It is because I want to keep all my allocated data in memory only.
>>
>> In message <lsaprvk4s1epahhli18i44fp87gn72oc2t@4ax.com>, Joseph M.
>> Newcomer <newcomer@flounder.com> writes
>> >By the way, anyone who tells you VirtualLock will solve this is flat-out
>> >WRONG and can be
>> >ignored. It will only waste your time and not solve anything of interest
>to
>> >you.
>>
>> I agree with your comments that the OP probably doesn't want to do this
>> (its not a good idea for performance reasons explained in the MSDN
>> documentation I quote below). However your statement is very blatant and
>> you give no explanation.
>>
>> Care to explain why that answer is flat-out WRONG? It is counter to the
>> MSDN documentation (quoted below) and also counter to my understanding
>> of the Windows 2000 internals written by Mark Russinovitch and David
>> Solomon.
>>
>> From MSDN (edited to remove some paragraphs not relevant)
>>
>> VirtualLock
>> The VirtualLock function locks the specified region of the process's
>virtual address
>> space into physical memory, ensuring that subsequent access to the
>> region will not incur a page fault.
>>
>>         The above states that Virtual Lock will indeed prevent the page
>>         from being paged. Of course the VC++ memory allocator may also
>>         be tinkering with the page protections and possibly the lock
>> status
>>         (I haven't checked so I don't know) - if it is then using
>> VirtualLock
>>         may well be not very useful.
>>
>> Remarks
>> All pages in the specified region must be committed.
>> Memory protected with PAGE_NOACCESS cannot be locked.
>>
>> Locking pages into memory may degrade the performance of the system by
>reducing the
>> available RAM and forcing the system to swap out other critical
>> pages to the paging file.
>>
>>         The above indicates this isn't generally a good idea.
>>
>> By default, a process can lock a maximum of 30 pages. The default limit
>> is intentionally small to avoid severe performance degradation.
>Applications
>> that need to lock larger numbers of pages must first call the
>> SetProcessWorkingSetSize function to increase their minimum
>> and maximum working set sizes. The maximum number of
>> pages that a process can lock is equal to the number of pages
>> in its minimum working set minus a small overhead.
>>
>>         The above indicates you have some work to do if you want more
>>         than 30 pages locked.
>>
>> Pages that a process has locked remain in physical memory
>> until the process unlocks them or terminates.
>>
>> To unlock a region of locked pages, use the VirtualUnlock function.
>> Locked pages are automatically unlocked when the process terminates.
>>
>> Windows 95/98: The VirtualLock function is implemented as a
>> stub that has no effect and always returns a nonzero value.
>>
>>         Finally, it doesn't work on Windows 9x.
>>
>> Stephen
>> -- 
>> Stephen Kellett
>> Object Media Limited    http://www.objmedia.demon.co.uk
>> RSI Information:        http://www.objmedia.demon.co.uk/rsi.html
>

Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
0
newcomer (15975)
11/21/2003 9:56:33 AM
In message <u3zHQL9rDHA.2260@TK2MSFTNGP09.phx.gbl>, "Scott McPhillips 
[MVP]" <scottmcp@mvps.org.nowhere> writes
>Stephen Kellett wrote:
>> Is this documented somewhere?
>
>It is documented.  From KB article Q94996:
>
>"VirtualLock() causes pages to be locked into an application's working 
>set (virtual memory); it does not lock them absolutely into physical 
>memory. VirtualLock() essentially means "this page is always part of 
>the process's working set."   The system is free to swap out any 
>virtually locked pages if it swaps out the whole process.

Alexander Grigoriev:
 >The page may be moved if its physical page is needed for someone's 
 >contiguous physical memory allocation.

Thanks to all that replied on this (and Joseph). I think Alexander's 
comment is very interesting - not the most obvious thing to spring to 
mind.

Stephen
-- 
Stephen Kellett
Object Media Limited    http://www.objmedia.demon.co.uk
RSI Information:        http://www.objmedia.demon.co.uk/rsi.html
0
snail (185)
11/21/2003 10:38:50 AM
Reply:

Similar Artilces:

Adding custom pages to Windows Control Panel using MFC
Hi, Is there anybody know how to add a custom page to Windows Control Panel using MFC? I found some code on Internet but that was written in Win32 API. Also tried to find the material on MSDN but the content is pretty old (if I am correct) : http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarvc/html/msdn_ntcplapp.asp Thanks. Is this what you're looking for? http://www.codeproject.com/shell/cpl.asp Tom <hugheslin@hotmail.com> wrote in message news:1145355183.002746.18420@z34g2000cwc.googlegroups.com... > Hi, > > Is there anybody know how to add a cus...

Missing scrolls bars in web pages created with FP
http://www.bglawns.com/directions_pinewood.htm For some reason this page opens in a new window when linked to from my site, which is fine, but now there are no scroll bars either eek! Also on the into page: http://www.bglawns.com/eahorc_main.htm and the main page: http://www.bglawns.com/eahorc.htm The scroll bars are now red, should be blue. Help? Regds - Deane In line "EAHORC" <EAHORC@discussions.microsoft.com> wrote in message news:E612EBDB-301F-4F2C-896A-7C012B6D607F@microsoft.com... > http://www.bglawns.com/directions_pinewood.htm > ...

HELP!!! Can't Apply Payment for Posted Invoice while Unposted in C
One user was entering in a transaction in the Sales Transaction Entry Window. She had not saved or put the transaction in a batch. The power went out, and she started up the computer when the power come back. She could not see the transaction in the Sales Transaction Entry for that Customer. She could see the transaction in the Collection Main window for that Customer but in the Unposted Sales. I tried to view the transaction from the SmartList but it is says it has been posted. So the user goes ahead and post thru the GL from the Series Post window. She still can not view t...

First post, need help guys!
Hi to all, I pasted together the below attachment. Can anyone help me with it. I need to know how to start a second grap 55% of the way up the original graphs axis. http://i10.photobucket.com/albums/a121/Moxy1980/graph.jpg PS. I cant get the pic bigger but can mail if you leave a reply on th thread. Thanks again -- Moxy198 ----------------------------------------------------------------------- Moxy1980's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=2807 View this thread: http://www.excelforum.com/showthread.php?threadid=47583 Moxy The second set of dat...

Access Mulit users in form keep stumbling over each other
I've got a front end Access database that has the form and a backend Accessdatabase that has the data. I would like mulitple users to be able to enter information into the form but they keep stumbling on each others work when they are doing so. My database is very simple, the table has 2 columns one has the account number of customers and the other is where the workers will fill in Yes or No. The users open the form copy the account number, enter it into a program, and review it. If they account is positive for what they are looking for, they mark yes or no and go onto the next record....

Create Second Page in Access2003 with Different Orientation (Portr
How do I create a second page in an Access2003 Report where the second page has a different orientation. The first page is in landscape and the second needs to be in portrait so that the mailing address is viewable for Windows envelopes. We tried to add a second page but it messed up the calculations and orientation of the from the first page. Any suggestions would be appreciated? Thank you, Mirsa With WindowsXP ...

Division help? #2
In MS Excel I would like to show a quotient in three separate columns such as 16/3 = 5 + 5 + 6. Can this be done? Please let me know a.s.a.p. I can't deduce the logic you are applying here. Can you post some more examples of what you want to input and how you would like the output to appear? Pete If you put 16 in A1, you can put this in B1: =int(a1/3) you can put this in C1: =b1 you can put this in D1: =a1-b1-c1 clayblay wrote: > > In MS Excel I would like to show a quotient in three separate columns such as > 16/3 = 5 + 5 + 6. Can this be done? Please let me know ...

find last cell in column
Hi, Apart from using VBA, is there any way to write a formula that will find the last used cell in a column of 15 cells? In the first set below, it would be ..388, in the second set it would be .133. Any help would be appreciated. 0.006 0.000 0.036 0.125 0.133 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.313 0.388 0.006 0.000 0.036 0.125 0.133 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ...

Stack Charts? ? ? Please help
I am trying to produce a stack chart with a difference ! I Have got a list of depots which i want to analyse and four columns containing data (bit like below). Basically i want two stack "bars" for each depot. Depot, Days Outstanding, Turnaround Time, Ttl Tickets Opened, Cust - Planner 1-231 3 1 3 1 1-922 2 1 2 1 I want days outstanding and turnaround time in one stack and then the second stack will be the remaining two columns side by side. Is this possible ? ? ? Or should i add this to the list of questions for Bill? -- twiggy ---------------...

Pivot report without the drop downs
I created my Excel 2007 Pivot table with the data I need. Now, I want to remove the Report Filter Drop Down showing lot more information than my peers or superiors need to see or even try to view. The same is true for the Rows Labels and Column Labels with the drop down. I figured out how to remove the plus signs by using the "Show/Hide" on the Options on the Ribbon. I tried the copy and paste but for some reason I can only do .txt or object. There is no paste special. Then the format is not the same. Do anyone have an answer for this problem? Thanks a million, Ty ...

Dynamic Chart :S please help me !!!
Damn , I'm getting so confused with this so please help!! This is what I want to do. I've got one databasetab with this column : week1 week2 week3 week4 object1 3 4 5 45 object2 43 34 43 43 object3 88 554 object4 and so on. Now ik want on another Sheet a box where I can fill in the wee number and than a chart wil show only the numbers of that week as: WEEK # 1000 500 0 -----------------------------------------------------------------...

Thank you for some wonderfull help
Hi all Just a word of much appreciation to 2 wonderfull guys (Oliver Moazzezi and Mark Arnold) for helping me to implement RPC over HTTP.Specially Oliver who really replied everytime i posted. You are stars and made my lifE alot easier. now i can help some other administrators also who i know is struggling to implement this wonderfull feature of exchange. thanks once again guys. The only "sort of " error i still get is that "Outlook is trying to retrieve data from your exchange server" but i assume its because i'm working from a "not so fast wireless conne...

Trial version keeps asking for key
I downloaded the 60-day free trial and typed in the key that I got in the Getting Started email. It seems to have worked. But whenever I start up Powerpoint, I'm asked to enter the key again. It doesn't accept the key that was emailed to me (and yes, I used cut and paste). The strangest part is that the email says it's Office Professional 2007 and the window that asks for the key says it's the Home and Student version. "gsacks" <gsacks@discussions.microsoft.com> wrote in message news:0F710E14-1B0D-4C68-828E-A84AB254CFAC@microsoft.com... > I...

Memories of Lotus 1-2-3
Way back in the deep dark recesses of my memory I seem to recall some way of extracting all unique values of a certain field from a database in Lotus 1-2-3 to a different portion of the spreadsheet. I have a need to do the same thing now, but like most of the world, I am using Excel now. I can't seem to figure out how to get this done in Excel...in Lotus...I think it was with a data - extract command. Thanks for the help !! Put a label cell on top of the column containing the data Click on the label cell and then pulldown: Data > Filter > Advanced Filter... Check Copy to a...

Critique a function to convert time, please
I have a bunch of data representing time intervals that come from a database application. The intervals vary from a few seconds to several years. The database (MySQL) stores time intervals as fixed point numbers in units of seconds. Reading the values in seconds is unnatural (a year is ~31.5E6 seconds), so I wrote a little UDF to convert the seconds to more natural units. The conversion is: Value Units <60 seconds Seconds <60 minutes Minutes <24 hours Hours <99 days Days Otherwise Years I chose 99 days as the threshold betwe...

Need Help... 03-07-10
I have two tables TblEmp and TblEmpService with a common field EmpID. TblEmp has the fields: EmpID, EmpName and Site. A form is attached to this table to enter new or edit existing employee. TblEmpService fields are : EmpID, EmpName, ServiceType,Site..etc I made a form based on TblEmpService in which all the fields is there from tblEmpService. What I want is that if I put Employee ID in the EmpID text Box the Employee Name should come in the EmpName text Box from the TblEmp. Also this Emplyee ID should store in the TblEmpService. Thanks & Regards, hi Nad, On 07.03.201...

Exchange disaster recovery help
I was wondering I have a client thats wants to have a disaster recovery site where if site A goes down site B will be able to handle his mail needs. My real question is can exchange some how replicate the data store to a 2nd site so that site B will have all of the same data in case of a disaster? I know I can do clustering but that would be in the same physical location not in seperate location if I am not mistaken. Any ideas would be great you can also do stretch clustering, which is geographically spanned cluster nodes in different locations...but it is quite expensive and the replica...

Page Layout Question
Hi - I am trying to create an invitation that is a half of a page. I want the half page folded in half to show a picture on the front and then when you open it, the details on the page on the right. I can't figure out how to set this up...everything that I try makes it so I have to fold the page in fours instead of just in half. Any suggestions on how to set it up this way? Thanks! Set it up as a booklet. -- Mary Sauer MS MVP http://office.microsoft.com/ http://www.mvps.org/msauer/ news://msnews.microsoft.com "Carol" <anonymous@discussions.microsoft.com&g...

Outlook 2007 help problem
I just installed Outlook 2007 only (not Office 2007) and when I click the help button this is what I get in the Outlook Help box: <?xml version="1.0" ?> <?xml-stylesheet type='text/xsl' href='File://C:\Documents and Settings\Marg & Bob\Local Settings\Temporary Internet Files\MsOfficeHelp12\MOH6E.tmp\toc.xsl'?> - <assistance namespace="OUTLOOK" UseOnlineContent="1"> <title>Outlook</title> There is more to it but I only copied and pasted this portion. It is obviously not the normal help box. Any ...

Keep 'total' in view
I would like to keep the running total in view. As you enter numbers, you needn't scroll to the end to see the answer. Is that possible? E-mail amanda@pnecorp.com if you can help. Much appreciated. You could split the screen (Window>Split) and display the totals in the bottom pane. ~Amanda~ wrote: > I would like to keep the running total in view. As you enter numbers, you > needn't scroll to the end to see the answer. Is that possible? E-mail > amanda@pnecorp.com if you can help. Much appreciated. -- Debra Dalgleish Excel FAQ, Tips & Book List http://www...

xls file won't open
I have an Excel file which I'm no longer able to open as the system comes back with a message saying 'Not enough memory' The file size is 887kb, I think it was created in Excel 2000 with Win98, but may have been on a machine running XP Home when the problem occurred. I am able to open much larger files without problems, I have also tried opening it on several other machines which have XP Home and Pro, obviously these have newer versions of Excel. Has anyone got any ideas how I can recover my information please? Any help will be appreciated, and thanks in advance for any help yo...

Insert Page Break
Is it possible to insert a page break automatically when specific text is encountered in row A. This report is hundreds of pages long and I need an automatic page insert macro. Can someone give me the syntax of a macro if the specific text is "Break"? Thanks for any help. -- Don Rountree Hi Don Try Sub Macropagebreak() For Each CELL In Range("A:A") If CELL = "BREAK" Then CELL.Rows.Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell Else End If Next End Sub "Don" wrote: > Is it possible to insert a page break automatically ...

help 02-09-06
Who wants to help me with the subnetworking Ex: IP : 14.0.0.0. Used Subnets 10 Nr Hosts = ? Mask ? The 3-th Subnet ? The defaul brodcast ? Sorry, you'll need to find a more appropriate newsgroup in which to ask this question, one that deals with networking. This newsgroup is for questions about Access, the database product that's part of Office Professional. -- Doug Steele, Microsoft Access MVP http://I.Am/DougSteele (no private e-mails, please) "Cuparencu Virgil" <Cuparencuv2003@yahoo.co.uk> wrote in message news:%237HgORLLGHA.2768@TK2MSFTNGP10.phx.gbl... &...

Exportasfixedformat
I am using the Exportasfixedformat function to pdf a 43 page Word document. However, I only want to pdf certain pages. I have created a macro that produces the string used by cutepdf, ("1, 2, 5, 20, 25-30" for example), but I am not sure if I can apply it, or something similar, to the ExportAsFixedFormat function. The function does appear to have a parameter to print only the 'selected' pages. How do I utilise this? Can anyone help? Hi, With the Exportasfixedformat function, you can set the Range parameter equal to wdExportCurrentPage if you want to e...

Macro Help!
I am creating a combo box in which a user will be able to select a month, and based upon that selection I need a macro that will open a specific file. For example, if the user selects June, then I need the macro to open the June report, if the user selects July, I need the macro to open the July report, etc. Jeff, Workbook.Open Filename = myPath & "\" & Combobox1.Value & ".xls" Just put in your file path. -- HTH Bob Phillips "Jeff" <hurlbut777@yahoo.com> wrote in message news:284601c3794c$e4ac0520$a601280a@phx.gbl... > I am cr...